특정 페이지에 대해 자바 스크립트를 사용하지 못하도록하는 HTTP 헤더가 있습니까? 내 웹 사이트는 사용자가 생성 한 HTML 콘텐츠를 전달하므로 (htmlenitities
만 사용할 수없는 이유) 스크립팅 (자바 스크립트 삽입)을 방지하고 싶습니다.특정 페이지에서 자바 스크립트 실행을 비활성화하십시오 (HTML/PHP)
쿠키가 읽을 수없는 하위 도메인에만 사용자 콘텐츠가 표시되지만 HttpOnly 쿠키는 이미 주 도메인에서만 인증을 위해 설정되어 있습니다. 문제는 JavaScript를 실행할 수있는 가능성이 너무 많다는 것입니다. 예를 들어 onclick
과 같은 이벤트 속성을 사용하는 경우와 Internet Explorer가 CSS에서 JavaScript 스크립트를 실행할 수있는 속성이있는 경우 (예 : 들어 본 적이없는 경우)가 있습니다. 내가 읽은 또 다른 흥미로운 아이디어는 다음 코드를 차단하기 위해 예외를 던지는 것이었다. 더 많은 아이디어가 허용 된 모든 태그를 포함하는 목록을 정의하는 것입니다. 그리고 각 허용 된 속성 이름을 가진 배열을 추가로 작성하는 것이 매우 어렵고 가능한 모든 인젝션을 다루지는 못합니다.
나는이 문제가있는 유일한 사람이 아니기 때문에 아무도 가능성을 알 수 있습니까 가능한 유해한 코드 - 적어도 현대적인 브라우저에서는?
X-Scripting: disabled
과 비슷한 단순한 가상의 헤더가 훨씬 더 쉽게 생명력을 발휘할 것입니다!
사용자 입력에서'script' 태그와 특정 속성을 차단 한 적이 있습니까? –
그게 바로 제가 생각한 것입니다. "허용 된 모든 태그를 포함하는 목록을 정의하는 것 외에 허용 된 각 속성 이름을 가진 배열을 추가로 정의하는 것이 더 좋을 것입니다.하지만 이것은 매우 힘든 일이며 가능한 모든 주입을 다루지는 못합니다." (예를 들어, 예를 들어 "div"또는 "span"과 같은 무해한 태그를 허용하고 "onclick", "onmouseover"와 같은 속성을 비활성화 할 수 있지만 브라우저마다 브라우저 특정 속성과 속성이 다르므로 모든 주사를 포함하지는 않습니다) –