
htmlspecialchars 함수는 HTML 특수 문자를.escape 하기 위해 사용됩니다. 이때 기본적으로 사용되는 속성은 ENT_QUOTES입니다. ENT_QUOTES 속성은 작은 따옴표(')와 큰 따옴표(") 모두를 escape합니다.
htmlspecialchars 함수를 사용하지 않고 다른 방법으로 escape 하게 되면, XSS(크로스 사이트 스크립팅) 공격에 취약해질 수 있습니다. XSS 공격은 악성 스크립트를 웹 페이지에 삽입하여 사용자의 브라우저에서 실행되도록 하여 개인 정보를 훔치거나 악성 코드를 실행하는 공격입니다.
htmlspecialchars 함수를 사용하여 escape 한 결과를 다시 unescape 하게 되면, 원래 문자열과 다를 수 있습니다. 이유는 htmlspecialchars 함수는 HTML 특수 문자를 escape하기 위해 '&'를 '&'amp;로, '<'를 '<'로, '>'를 '>'로, '"'를 '"'로, '\''를 '''로 변환합니다. 이 변환은 원래 문자열의 의미를 변경할 수 있습니다.
예를 들어, 원래 문자열이 ""일 경우, htmlspecialchars 함수를 사용하여 escape 한 결과는 "<script>alert('XSS')</script>"가 됩니다. 이 결과를 다시 unescape 하게 되면, 원래 문자열과 다를 수 있습니다.
2025-06-29 03:39