나는 이것에 약간 혼란 스럽다. htmlspecialchars()
에 대해 읽었으며 XSS 공격을 막기 위해 텍스트 영역 POST
에 사용할 계획입니다. 대개 htmlspecialchars()
은 브라우저로 전송되는 HTML 출력을 생성하는 데 사용됩니다. 하지만 확실하지 않은 부분은 다음과 같습니다.MySQL에 삽입하기 전에 htmlspecialchars()를 사용하는 것이 좋습니까?
1) MySQL에 삽입하기 전에 htmlspecialchars()
을 사용자 입력 데이터에 사용하는 것이 안전한 방법입니까? SQL Injection을 방지하기 위해 이미 매개 변수화 된 값으로 PDO 준비 문을 사용하고 있습니다.
2) 또는 htmlspecialchars()
을 매개 변수화 된 값으로 사용하는 것에 대해 걱정할 필요가 없으며 MySQL에서 결과를 가져 와서 사용자에게 표시 할 때만 htmlspecialchars()
을 사용합니까?
# 2는 정답입니다. – jszobody
HTML 이스케이프 처리 (1)는 데이터베이스와 관련이 없습니다. 조기 탈출은 나중에 웹 페이지가 아닌 출력 채널을 방해 할 수 있으므로 일반적으로 (2)를 사용하는 것이 좋습니다. 초보자에게는 초기 HTML 이스케이프 처리가 여전히 권장 될 수 있습니다. 너무 일찍 잊어 버린 것보다 빠릅니다. – mario
일부 텍스트 로그를 생성하려고한다고 가정합니다. 그런 다음 탈출을 취소해야합니다. 마지막으로 적절한 순간에 탈출하여 적절하다고 판단하십시오. –