Rolf B: Content Security Policy per JS ändern

Beitrag lesen

Hallo Felix,

ich bin ja vielleicht einfach nur zu unerfahren im Thema (weil ich solche Spielchen normalerweise nicht mache), aber MDN schreibt:

The HTTP Content-Security-Policy (CSP) frame-src directive specifies valid sources for nested browsing contexts loading using elements such as <frame> and <iframe>.

D.h. das ist ein Header der Rahmenseite, nicht der eingebundenen Seite. Und die Rahmenseite sagt: frames/iframes dürfen nur vom gleichen Host wie sie selbst kommen (self) oder von http://webassistants.qa.partcommunity.com. Sowas verstehe ich als eine Art Hackerschutz - wenn jemand schafft, HTML in die Seite zu injizieren, das einen bösen iframe einbinden will, dann wird das verhindert.

Was Du beschreibst, klingt nach der Aufgabe von frame-ancestors, das vom iframe gesetzt werden könnte, um sich nur auf bestimmten Seiten einbetten zu lassen.

Aber zum Problem:

Heinetz,

der HTML Living Standard sieht content-security-policy ausdrücklich als mögliches http-equiv Pragma vor. Allerdings noch nicht immer, die ursprüngliche HTML5 Spec enthielt das z.B. nicht.

Da Du das meta Tag mit JavaScript nachträgst, besteht die Möglichkeit, dass der iframe schon geladen wird bevor das Script läuft. Ist das <script> Element so platziert, dass es vor dem <iframe> Element steht? Bist Du 100% sicher, dass das Script ausgeführt wurde?

Könntest Du alternativ das Pragma fix im HTML einbauen? Ich habe keine Ahnung, ob ein gescriptetes csp-Pragma vom Browser akzeptiert würde; eigentlich würde das dem Sinn dieser Sicherheitsmaßnahme zuwiderlaufen.

Rolf

--
sumpsi - posui - obstruxi