Ostatnio niektóre strony internetowe, takie jak Facebook, stosują Politykę bezpieczeństwa treści (CSP) w celu ograniczenia ładowania skryptów z „niezaufanych źródeł”. Na przykład podczas żądania treści HTML z Facebooka (np. Https://www.facebook.com ) odpowiedź HTTP Facebooka zawiera następujący nagłówek odpowiedzi:
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;
Ma to wpływ na niektóre bookmarklety, które wymagają ładowania i uruchamiania bibliotek JavaScript z niezaufanych źródeł.
Na przykład za każdym razem, gdy próbuję uruchomić bookmarklet Show Anchors na stronie na Facebooku, wykonanie tego bookmarkletu kończy się niepowodzeniem, ponieważ próbuje załadować jQuery z niezaufanego źródła. W konsoli programisty Chrome powie:
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".
Znalazłem stronę dokumentacji Chrome na ten temat, ale dotyczy ona tylko rozszerzeń Chrome .
Szukam rozwiązań, które mi na to pozwolą
- albo jednorazowo dezaktywuj CSP
- lub na stałe umieść na białej liście moje zaufane źródła.