it-swarm.com.de

Warum behauptet Chrome, dass dieses Stylesheet gegen die Inhaltssicherheitsrichtlinie verstößt?

Ich habe eine Website, auf der ich mehrere CSS-Stylesheets von meinem eigenen Server und ein Stylesheet von einem Remote-Server einbinde.

Ich wollte meine Inhaltssicherheitsrichtlinie so schreiben, dass alle lokalen Stylesheets und nur dieses eine bestimmte Remote-Stylesheet zulässig sind. Dies war mein Versuch:

style-src 'self' 'sha256-L/W5Wfqfa0sdBNIKN9cG6QA5F2qx4qICmU2VgLruv9Y='

Beim Navigieren zu meiner Website behauptete Chrome 78), dass das Remote-Stylesheet nicht mit der vorhandenen Richtlinie zur Inhaltssicherheit übereinstimmt, und lehnte es ab, es anzuwenden. Ich habe mir diese ähnliche Frage angesehen =, wo die Lösung darin bestand, 'unsafe-hashes', was mein Problem nicht gelöst hat. Es scheint, als gäbe es einen Unterschied zwischen einem extern enthaltenen Skript und einem Inline-Skript.

Meine Frage lautet also: Warum behauptet Chrome behauptet, dieses Skript sei nicht zulässig? Und was brauche ich, um dieses Skript zuzulassen? (Abgesehen von einer allgemeinen Whitelist für die Domain)

5
MechMK1

Von die Dokumentation von style-src :

'<Hash-Algorithmus> - <Base64-Wert>'
Ein sha256-, sha384- oder sha512-Hash von Skripten oder Stilen. ... In CSP 2.0 galt dies nur für Inline-Skripte . CSP 3.0 erlaubt es im Fall von script-src für externe Skripte .

Auf dieser Grundlage kann die Hashing-Spezifikation nicht für externe Stile verwendet werden, sondern nur für Inline-Stile. Die Verhaltensänderung mit CSP 3.0 erlaubt nur externe Skripte auf diese Weise, jedoch keine externen Stile.

4
Steffen Ullrich