(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 "올바르지 않은 이메일 형식입니다.";
}
댓글목록
등록된 댓글이 없습니다.