웹프로그램

(PHP) PHP에서 안전하게 사용자 입력 처리하기

페이지 정보

작성자 최고관리자 댓글 0건 조회 26회 작성일 25-10-07 16:26

본문

웹에서 사용자 입력을 받을 때, 보안을 고려하지 않으면 XSS나 SQL Injection 같은 심각한 문제로 이어질 수 있습니다. PHP에서 기본적으로 할 수 있는 보안 처리 방법을 소개합니다.

 

1. HTML 출력 시에는 htmlspecialchars()

사용자 입력을 그대로 HTML에 출력하면 XSS 공격에 노출될 수 있습니다. 꼭 이스케이핑 처리하세요.

 

$user_input = $_POST['comment'];

echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');

 

  • ENT_QUOTES: 작은따옴표, 큰따옴표 모두 변환

  • 'UTF-8': 문자 인코딩 명시 (꼭 써주세요)

 

2. SQL 쿼리에는 Prepared Statement 사용하기

SQL 쿼리에 변수를 직접 넣지 말고, PDO의 prepare()를 사용하면 SQL Injection을 방지할 수 있습니다.

 

stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$stmt->execute(['email' => $_POST['email']]);

 

3. 입력값 검증도 기본입니다

예를 들어 이메일 입력이라면, 형식을 검사해서 잘못된 값은 걸러야 합니다.

if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
echo "올바르지 않은 이메일 형식입니다.";
}

댓글목록

등록된 댓글이 없습니다.

Copyright 2019-2022 © 에티 보바펫 테마