Mit einer Content Security Policy (CSP) können Sie Ihre Webseite schützen, indem Sie einschränken, welche Ressourcen und Scripts geladen und ausgeführt werden dürfen. Sie können CSP aktivieren, indem Sie einen Content-Security-Policy
-Header in den HTTP-Antworten Ihres Webservers festlegen.
Es gibt zwei Standardmethoden, um CSP zu konfigurieren:
Geben Sie eine Zulassungsliste mit Domains an, die ihre Ressourcen auf die Seite einschleusen dürfen.
Geben Sie eine zufällige Nonce an, mit der Ressourcen auf der Seite zum Laden gekennzeichnet werden müssen. Dieser Ansatz wird als strikte CSP bezeichnet.
Da sich die Domains, die vom Google Publisher-Tag (GPT) verwendet werden, im Laufe der Zeit ändern, unterstützen wir nur die strikte CSP-Richtlinie (Option 2). So müssen Sie keine fortlaufende Liste von Domains verwalten, die möglicherweise veraltet sind und Ihre Website beeinträchtigen.
CSP mit GPT einrichten
Aktivieren Sie CSP auf Ihrem Webserver.
Folgen Sie der Anleitung unter Strikte CSP-Richtlinien verwenden, um den CSP-Header einzurichten und den Nonce auf jedes Script-Tag auf Ihrer Seite anzuwenden, einschließlich
gpt.js
. GPT unterstützt insbesondere die folgenden CSP-Richtlinien: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 weniger strenge Richtlinie auswählen, wenn sie zu Ihrem Anwendungsfall passt. Die Einhaltung strengerer Richtlinien kann ohne vorherige Ankündigung überprüft werden.
Aktivieren Sie das domainübergreifende Rendering.
In Anzeigen-iFrames können externe Ressourcen geladen werden, die vom CSP möglicherweise nicht zulässig sind. Da iFrames derselben Domain den CSP des übergeordneten Fensters übernehmen und GPT den Inhalt des Creatives nicht steuern kann, funktionieren Creatives derselben Domain in der Regel nicht richtig mit CSP-Headern.
Wenn Sie das domainübergreifende Rendering für alle Creatives aktivieren möchten, führen Sie
googletag.pubads().setForceSafeFrame(true)
aus, bevor Sie Anzeigenslots laden.<!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, Ihre Richtlinien zuerst zu testen, indem Sie die Kopfzeile Content-Security-Policy-Report-Only
anstelle von Content-Security-Policy
festlegen. In der Überschrift werden Verstöße gemeldet, sie sind aber weiterhin auf der Seite zu sehen.