wake-up-neo.com

Wie kann ich die Inhaltssicherheitsrichtlinie überschreiben, während ich ein Skript in die Browser-JS-Konsole einbinde?

Ich habe versucht, JQuery mithilfe der Konsole auf eine vorhandene Website zu integrieren:

var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-1.11.1.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

Dann habe ich diesen Fehler bekommen:

Content Security Policy: The page's settings blocked the loading of a resource at http://code.jquery.com/jquery-1.11.1.min.js ..

Während der Entwicklung möchte ich möglicherweise externes Javascript einbinden. Ich möchte möglicherweise nicht den gesamten JQuery-Code kopieren und einfügen, da er nicht ordentlich aussieht. Wie kann die Inhaltssicherheitsrichtlinie für Entwicklungszwecke außer Kraft gesetzt werden?

Dies wäre sehr nützlich für schnelle Tests. Möglicherweise möchte ich das Skript, das ich schreibe, später in eine Browser-Erweiterung konvertieren.

Hinweis (Aktualisierung): Ich schreibe das Skript über eine vorhandene Website und habe keine Kontrolle über das Festlegen des Inhaltssicherheitsrichtlinien-Headers.

43
Pranjal Mittal

Sie können den CSP für Ihren gesamten Browser in Firefox deaktivieren, indem Sie security.csp.enable Im Menü about:config Deaktivieren. Wenn Sie dies tun, sollten Sie einen völlig separaten Browser zum Testen verwenden . Installieren Sie z. B. Firefox Developer Edition neben Ihrem normalen Browser und verwenden Sie diesen zum Testen (und nicht zur normalen Verwendung im Web).

Alternativ sollte es möglich sein, den Antwortheader Content-Security-Policy Zu ändern, bevor er zu Ihrem Browser gelangt (über einen HTTP-Proxy). Dies ist auch mit Erweiterungen möglich.

Eine Chrome Erweiterung kann einen eigenen CSP festlegen für eigene chrome-extension://... Seiten, kann aber den CSP einer normalen Webseite nicht ändern.

47
apsillers