最近、Facebookなどの一部のWebサイトでは、コンテンツセキュリティポリシー(CSP)を使用して、「信頼できないソース」からのスクリプトの読み込みを制限しています。たとえば、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を一度無効にするか、
- または信頼できるソースを永続的にホワイトリストに登録します。