고지 사항 : 항상 그렇듯이 https를 사용할 때만 이러한 메커니즘을 사용하는 것으로 간주해야합니다. http를 사용하는 MitM을 통해 쉽게 비활성화 할 수 있기 때문입니다.
위 답변의 메커니즘 외에도 상위 페이지 에서 콘텐츠 보안 정책 http 응답 헤더를 사용할 수도 있습니다 .
http://www.html5rocks.com/en/tutorials/security/content-security-policy/
콘텐츠 보안 정책 : script-src 'sha256-qznLcsROx4GACP2dm0UCKCzCG-HiZ1guq6ZZDob_Tng ='
여기서 주목할 몇 가지 사항이 있습니다. sha *-접두사는 해시를 생성하는 데 사용되는 알고리즘을 지정합니다. 위의 예에서는 sha256-이 사용됩니다. CSP는 sha384- 및 sha512-도 지원합니다. 해시를 생성 할 때 태그를 포함하지 마십시오. 또한 선행 또는 후행 공백을 포함하여 대문자와 공백이 중요합니다.
Chrome 40 이상을 사용하면 DevTools를 연 다음 페이지를 다시로드 할 수 있습니다. 콘솔 탭에는 각 인라인 스크립트에 대한 올바른 sha256 해시가있는 오류 메시지가 포함됩니다.
이 메커니즘은 꽤 오랫동안 사용되어 왔으므로 브라우저 지원이 꽤 좋을 가능성이 높으므로 확인하십시오.
또한 이전의 비 호환 브라우저가 안전하지 않은지 확인하려면 정책에서 허용하지 않는 동기 리디렉션 스크립트를 페이지 상단에 포함 할 수 있습니다.