Ich verwende Apache 2.4 und versuche, Inhaltssicherheitsrichtlinien zu implementieren. Ich habe den folgenden Header in meiner httpd.confVerwenden Sie die Inhaltssicherheitsrichtlinie scipt-src sha-Funktion mit Apache HTTP Server
Header set Content-Security-Policy "default 'none'; script-src 'self'"
Sie nun, ich Inline-JavaScript-Code Skript-Tag in HTML, als
<script>alert('Do something here')</script>
Beachten Sie, dass Script-Tag sinnvoll enthält JS-Code, nicht diese Warnmeldung, die ich für Beispielzwecke angegeben habe.
Jetzt blockiert die Inhaltssicherheitsrichtlinie solche Inline-Skripts. Eine Möglichkeit, diese weiße Liste ist SHA Hash für die oben genannte Skript zu berechnen und sie explizit in Kopf passieren, wie
Header set Content-Security-Policy "default 'none'; script-src 'self' sha256-dhfds73748=="
Dies ermöglicht das Skript auszuführen.
Jetzt kann ich SHAs für diese Art von Skripten zur Build-Zeit mit Grunt generieren.
Aber muss ich diese innerhalb Apache httpd.conf manuell wie ich Änderungen an diesen Skripten vornehmen und dann manuell starten meine Apache HTTP Server?
Kann ich diesen Wert zur Laufzeit innerhalb der Apache-Konfiguration festlegen?
Bitte beachten Sie, dass ich den Code nicht in eine separate js-Datei verschieben und dann über <script src="path/to/my/file.js"></script>
anrufen möchte, es sei denn, es ist die einzige Möglichkeit.
Ich benutze einseitige Web-Anwendung Architektur – Ozil
Das Meta-Tag ist wahrscheinlich der Weg, dann zu gehen. Zumindest in Ihrer Entwicklungsumgebung. – oreoshake
Oh cool! Ich wusste nicht, dass Sie Content Security Policy-Header direkt im Meta-Tag festlegen können. Danke vielmals! – Ozil