최근에 Facebook과 같은 일부 웹 사이트는 CSP ( Content Security Policy )를 사용하여 "신뢰할 수없는 소스"에서 스크립트로드를 제한합니다. 예를 들어, Facebook HTML 컨텐츠 (예 : https://www.facebook.com )를 요청할 때 Facebook의 HTTP 응답에는 다음 응답 헤더가 포함됩니다.
x-webkit-csp:default-src *;script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net;style-src * 'unsafe-inline';connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net;
이는 신뢰할 수없는 소스에서 Javascript 라이브러리를로드하고 실행해야하는 일부 책갈피에 영향을 미칩니다.
예를 들어 Facebook 페이지 에서 Show Anchors 북마크릿 을 실행하려고 할 때 신뢰할 수없는 소스에서 jQuery를로드하려고하면이 북마크릿의 실행이 실패합니다. Chrome 개발자 콘솔에는 다음과 같이 표시됩니다.
Refused to load the script 'http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js' because it violates the following Content Security Policy directive: "script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net".
이 주제에 대한 Chrome 설명서 페이지를 찾았지만 Chrome 확장 프로그램 에만 적용됩니다 .
내가 할 수있는 솔루션을 찾고 있습니다.
- CSP를 한 번 비활성화
- 신뢰할 수있는 출처를 영구적으로 허용합니다.