Mit der Content Security Policy (CSP) können Sie
indem Sie einschränken, welche Ressourcen
und Skripts geladen und
ausführen können. Sie können die CSP aktivieren, indem Sie einen Content-Security-Policy
-Header in
HTTP-Antworten von Ihrem Webserver.
Es gibt zwei Standardmethoden, um die CSP zu konfigurieren:
Geben Sie eine Zulassungsliste mit Domains an, die ihre Ressourcen auf der Seite einfügen können.
Gib eine zufällige Nonce an, mit der Ressourcen auf der Seite markiert werden müssen um sie zu laden. Dieser Ansatz wird als strikte CSP bezeichnet.
Da sich die von Google Publisher-Tags (GPT) verwendeten Domains unterstützen wir nur eine strikte CSP (Option 2). Bei diesem Ansatz ist es nicht nötig, Pflegen Sie eine fortlaufende Liste von Domains, die veraltet sein könnten und Website.
CSP mit GPT einrichten
Aktivieren Sie die CSP auf Ihrem Webserver.
Folgen Sie den Schritten unter Strikte CSP einführen, um den CSP-Header einrichten und die Nonce auf jedes Skript-Tag auf Ihrer Seite anwenden. einschließlich
gpt.js
. GPT unterstützt insbesondere folgende CSP-Anweisungen:Content-Security-Policy: object-src 'none'; script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri https://your-report-collector.example.com/
Sie können eine weitergehende Richtlinie auswählen, wenn dies zu Ihrem Anwendungsfall passt. Mehr restriktive Richtlinien möglicherweise ohne Vorankündigung funktionsunfähig sind.
Domainübergreifendes Rendering aktivieren
Anzeigen-iFrames können externe Ressourcen laden, die vom CSP Da dieselben Domain-iFrames die CSP des Top-Level-Fensters übernehmen, GPT kann den Inhalt des Creatives nicht steuern (gleiche Domain) Creatives funktionieren normalerweise nicht ordnungsgemäß mit CSP-Headern.
Um das domainübergreifende Rendering für alle Creatives zu aktivieren, führen Sie den folgenden Befehl aus:
googletag.pubads().setForceSafeFrame(true)
bevor Anzeigenflächen geladen werden.<!doctype html> <html> <head> <meta charset="utf-8"> <title>Hello GPT</title> <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" nonce="KC7tcz53FHqumKP1" async></script> <script nonce="KC7tcz53FHqumKP1"> window.googletag = window.googletag || {cmd: []}; googletag.cmd.push(function() { googletag.pubads().setForceSafeFrame(true); }); </script> </head>
Test
Wir empfehlen Ihnen, Ihre Richtlinien zuerst zu testen. Legen Sie dazu das Attribut
Content-Security-Policy-Report-Only
-Header statt im
Content-Security-Policy
. Die Kopfzeile meldet Verstöße, lässt aber dennoch zu.
auf der Seite platzieren.