다음 코드에서 보안상 문제점과 해결 방법은?

과목: PHP

문제 번호: 2908

medium
다음 코드에서 보안상 문제점과 해결 방법은?
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email is: <?php echo $_POST["email"]; ?>
</body>
</html>
A. 문제없음, 그대로 사용 가능
B. 입력 검증 부족, htmlspecialchars() 함수 사용 필요
C. 잘못된 HTTP 메서드, GET 방식으로 변경 필요
D. 잘못된 변수명, $_REQUEST 사용 필요

정답: B



사용자 입력을 그대로 출력하면 XSS(Cross-Site Scripting) 공격에 취약합니다.

⦁ 보안 위험사항:
⦁ 악의적인 스크립트 코드 삽입 가능
⦁ HTML 태그나 JavaScript 코드가 실행될 수 있음
⦁ 사용자 정보 탈취, 세션 하이재킹 위험

⦁ 해결 방법:
Welcome <?php echo htmlspecialchars($_POST["name"]); ?><br>
Your email is: <?php echo htmlspecialchars($_POST["email"]); ?>

⦁ htmlspecialchars() 함수의 역할:
<&lt;
>&gt;
"&quot;
'&#039;

⦁ 추가 보안 고려사항: 입력값 존재 확인, 길이 제한, 형식 검증 등

💡 학습 팁

이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.