Christian Kruse: Content-Security-Policy mit script-src hash funktioniert nicht wie erwartet

Beitrag lesen

problematische Seite

Hallo Felix,

Gegeben sei folgendes Inline-Script, dass ich in einem onload notiere:

Wer strenge CSP-Settings nutzen möchte, muss jeglichen JS-Code in eine extern zu ladende Script-Datei stecken. Sonst blockt der Browser.

Nein, das stimmt nicht. nonce- und sha...- existieren und funktionieren. Nur eben (noch) nicht für Event-Handler.

Und das sollte ja auch keine übergroße Anstrengung sein, mal eben dynamisch das Element zu ermitteln, um dann damit genau das zu tun, was man vorher mit einem Eventhandler zu erreichen suchte...

Ich schrieb mit voller Absicht dazu, dass es mir um den Lern-Effekt ging. Wie ich das umbauen kann, dass es funktioniert, wusste ich schon vorher. Ich wollte verstehen, was ich falsch mache. Ich glaube, dass ich das auch genau so geschrieben habe 😀

Ob Deine Lösung mit einem Hash "besser" gewesen wäre, vermag ich nicht zu beurteilen, aber wenn ich via CSP irgendein onload blocken will, dann eben alle und ohne Ausnahme!

Wie gesagt, das ist nicht richtig. Der CSP-Draft für unsafe-hashed-attributes existiert, die Umsetzung existiert zumindest für Chrome auch schon (der Patch ist bereits in Master) und ich konnte es inzwischen mit einem selbst kompilierten Chromium verifizieren, aber es ist noch nicht released.

LG,
CK