PHP를 사용하여 웹 사이트에서 XSS 공격을 막으려합니다.Htmlentities 또는 htmlspecialchars 또는 stripslashes?
기본적으로이 공격을 막을 수있는 3 가지 기능이 있지만 어떤 것을 사용해야하는지 잘 모르겠습니다. 이전에 다른 질문을 본 적이 있지만이 질문에 대한 명확한 답을 얻지 못했습니다.
어느 것을 사용해야합니까? 그 중 어느 것이 가장 좋으며 그 이유는 무엇입니까?
PHP를 사용하여 웹 사이트에서 XSS 공격을 막으려합니다.Htmlentities 또는 htmlspecialchars 또는 stripslashes?
기본적으로이 공격을 막을 수있는 3 가지 기능이 있지만 어떤 것을 사용해야하는지 잘 모르겠습니다. 이전에 다른 질문을 본 적이 있지만이 질문에 대한 명확한 답을 얻지 못했습니다.
어느 것을 사용해야합니까? 그 중 어느 것이 가장 좋으며 그 이유는 무엇입니까?
아무도 이 (가) 공격을 막을 수는 없습니다. 손상을 제한 할 수 있습니다!
그러나 모두를 사용하거나 하나만 사용하는 것은 문제가되지 않습니다. 이는 응용 프로그램 디자인과 결과가 데이터베이스 수준으로 내려갈 수 있도록 요청을 수정할 수 있는지 여부입니다.
this을 참조하십시오. 아마도 이것은 XSS 공격의 복잡성에 대한 아이디어를 줄 것입니다.
반드시 htmlspecialchars 또는 를 htmlentities 태그 사이에 신뢰할 수없는 데이터를 출력하는 경우 보호 할 수 있지만, 출력은 자바 스크립트 이벤트 핸들러에있는 경우 보호되지 않습니다. ...
echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');
는 OWASP XSS 방지 컨닝 페이퍼를 살펴 보자
https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
어떤 질문 :
이 기능을 사용하는 방법은이 같은 것입니다 당신은 보았습니까? 답은 어떻게 명확하지 않았습니까? – Jon
아니요. 더 나은 옵션이 있습니다. [** htmlpurifier **] (http://www.htmlpurifier.org) – itachi
@itachi : 기록을 위해, 나는 매우 열등한 선택이라고 생각합니다. – Jon