이스케이프 없는 사용자 입력 출력 (XSS)
왜 위험한가요
입력값을 그대로 출력하면 공격자가 넣은 스크립트가 방문자 브라우저에서 실행되어 세션을 훔치거나 화면을 바꿀 수 있습니다. 이스케이프하면 특수문자가 해가 없는 글자로 바뀝니다.
echo 'Hello ' . $_GET['name'];
echo 'Hello ' . htmlspecialchars($_GET['name'] ?? '', ENT_QUOTES, 'UTF-8');
해결 방법
출력할 때 htmlspecialchars($value, ENT_QUOTES, 'UTF-8')로 감싸세요.
내 코드 검사하기
내 코드 검사하기 →
파일을 붙여넣으면 이 규칙에 걸리는 줄을 모두 찾아드립니다.