Michi: CSP: In sandboxed iframe nur bestimmte Skripte erlauben?

Beitrag lesen

Hallo!

Aber die Skripte aus den iframes werden trotzdem ausgeführt, so als ob ich sie mit dem Header meiner Seite nicht erreichen könnte.

Korrekt, das kannst du meines Wissens nicht.

Ich kann also, wenn ich das richtig sehe, nur alle Skripte in den iframes blockieren oder alle Skripte zulassen.

Ja, das sehe ich auch so.

Oder gibt es noch eine andere Möglichkeit?

Nein, nicht dass ich wüsste. Sorry.

CSP ist hauptsächlich dafür da um Cross-Site-Scripting zu verhindern. Ein iframe ist immer seine eigene "Origin", ist also sicherheitstechnisch von deiner Seite getrennt. Daher lassen sich keine Regeln für den Inhalt des iframes definieren (außer mit dem sandbox-Attribut). Deine CSP-Regeln gelten immer nur für die aktuelle Seite von deiner "Origin".

Steht auch so in der Spezifikation wenns mich nicht täuscht: http://www.w3.org/TR/CSP2/#which-policy-applies

"Any resource included via iframe, object, or embed: The policy of the embedding resource controls what may be embedded. The embedded resource, however, is controlled by the policy delivered with the resource, or the policy of the embedding resource if the embedded resource is a globally unique identifier (or a srcdoc frame)."

Michi