Content-Security-Policy

ermöglicht es Websiteadministratoren, Ressourcen zu steuern,
die der Benutzeragent für eine bestimmte Seite laden darf.

Mit wenigen Ausnahmen umfassen Richtlinien meist die Angabe von Serverursprüngen und Skriptendpunkten.
Dies trägt zum Schutz vor Cross-Site-Scripting-Angriffen (XSS) bei.

Inhaltssicherheitsrichtlinie

default-src

dient als Fallback für die anderen CSP-Abrufdirektiven.
Für jede der folgenden Direktiven, die nicht vorhanden sind,
sucht der Benutzeragent nach der Direktive und verwendet diesen Wert dafür

Es wird empfohlen, mit einer angemessen gesperrten Richtlinie zu beginnen

default-src 'none';

Soll an erster Stelle stehen dient als Fallback für die anderen Richtlinien.

_________________________________________________________________

Beispiel:

default-src 'none'; frame-ancestors 'none'

Deaktivieren Sie das Laden aller Ressourcen und deaktivieren Sie das Framing,
was für die Verwendung von APIs empfohlen wird.
Legt fest von wo Manifests geladen werden dürfen.
________________________________

default-src https:;

Inline-Code deaktiviert und https erfordert
Laden von Ressourcen (Bilder, Schriftarten, Skripte usw.) über https zulassen
________________________________

default-src https: 'unsafe-inline';

Verhindert das Ressourcen versehentlich über http geladen werden.
Es bietet jedoch keinen XSS-Schutz.
________________________________

default-src 'self' cdn.beispiel.de;
Bestimmt alles, was nicht durch andere Regeln festgelegt wurde.
________________________________

default-src 'self'; img-src 'self' https://beispiele.com; object-src 'none'

Unsicheres Inline/Eval deaktivieren, nur Ressourcen vom gleichen Ursprung laden,
außer auch Bilder von beispiele zulassen
Deaktiviert auch die Ausführung von Plugins
________________________________

default-src *; object-src 'none'

Deaktivieren Sie die Verwendung von unsicherem Inline/Eval,
erlauben Sie alles andere außer der Plugin-Ausführung
________________________________

default-src 'none'; frame-src 'self'; frame-ancestors 'self'; img-src 'self';
style-src 'self'; base-uri 'self'; form-action 'self'; media-src 'self';
connect-src 'https://domain.eu https://domain.eu:55555 https://juergen.domain.eu https://localmail.domain.eu';

_________________________________________________________________

base-uri

Die HTTP Content-Security-Policy base-uri-Direktive schränkt die URLs ein,
die im <base>Element eines Dokuments verwendet werden können.
Wenn dieser Wert nicht vorhanden ist, ist ein beliebiger URI zulässig.
Wenn diese Direktive nicht vorhanden ist,
verwendet der Benutzeragent den Wert im Element <base>.
Beschränkung der URLs im Base-Tag. base-uri 'self';

________________________________

block-all-mixed-content

Verhindert das Laden über HTTP, wenn die Seite HTTPS benutzt.

Veraltet:
Diese Funktion wird nicht mehr empfohlen.
Obwohl einige Browser es möglicherweise noch unterstützen,
wurde es möglicherweise bereits aus den relevanten Webstandards entfernt,
wird möglicherweise gerade gelöscht oder nur aus Kompatibilitätsgründen beibehalten.
Vermeiden Sie es, es zu verwenden, und aktualisieren Sie vorhandenen Code, wenn möglich.
um Ihre Entscheidung zu treffen.
Beachten Sie, dass diese Funktion jederzeit nicht mehr funktioniert.

Warnung:
Diese Direktive ist in der Spezifikation als veraltet markiert:
Alle gemischten Inhalte werden nun blockiert,
wenn sie nicht automatisch aktualisiert werden können.
________________________________________________________________
child-src

Legt die Quelle der Daten innerhalb von Frames fest.

Definiert die gültigen Quellen für Webworker
und verschachtelte Browserkontexte,
die mithilfe von Elementen wie frame und iframe geladen werden.

Für Arbeitnehmer werden nicht konforme Anforderungen
als schwerwiegend behandelt Netzwerkfehler durch den User-Agent.

Beispiel:

child-src   'self'
________________________________

child-src   https://example.com/

Die untergeordnete HTTP-Direktive Content-Security-Policy (CSP)
definiert die gültigen Quellen für Web-Worker und verschachteltes Browsen Kontexte,
die mit Elementen wie <frame> und <iframe> geladen werden.
Definiert die gültigen Quellen für Webworker
und verschachtelte Browserkontexte,
die mithilfe von Elementen wie
<frame> und <iframe> geladen werden.

Warnung:
Anstelle von child-src
Wenn Sie verschachtelte Browserkontexte
und Worker regulieren möchten,
Sie sollten die Direktiven frame-src bzw. worker-src verwenden.
________________________________

connect-src

Schränkt die URLs ein,
die über Skriptschnittstellen geladen werden können

Legt die Quellen fest mit denen sich die Seite verbinden darf.

Die HTTP Content-Security-Policy (CSP) connect-src-Direktive schränkt die URLs ein,
die über Skriptschnittstellen geladen werden. Die APIs, die eingeschränkt sind, sind:

    <a> ping,

    fetch(),

    XMLHttpRequest,

    WebSocket,

    EventSource, and

    Navigator.sendBeacon().

Beispiel:

connect-src   'self';

connect-src   https://dasler.eu https://juergen.dasler.eu https://localmail.dasler.eu

_________________________________________________________________

disown-opener

Stellt sicher, dass eine Ressource ihren Opener verleugnet,
wenn sie navigiert wird.
_________________________________________________________________

font-src

Gibt gültige Quellen für Schriftarten an

Die Quellen der Schriften für die Seite.

Beispiel:

font-src   font.beispiel.de;

font-src   https://example.com/

font-src   source;

Das Laden der folgenden Schriftartressource ist blockiert und wird nicht geladen:

font-src   source   source;
________________________________

form-action

Schränkt die URLs ein,
die als Ziel einer Formularübermittlung
aus einem bestimmten Kontext verwendet werden können.

Endpunkte von Formularen.

Beispiel:

form-action   'self';
________________________________

frame-ancestors

Legt fest, welche Domains Frames und iFrames einfügen dürfen.

Gibt gültige übergeordnete Elemente an,
die eine Seite mit frame, iframe, object, embed oder applet einbetten können.

Beispiel:

frame-ancestors   'self' https://www.example.org;

frame-ancestors   'none';

Gehen Sie wie folgt vor,
um eine vertrauenswürdige Domäne (my-trusty-site.com) zuzulassen:

frame-ancestors   my-trusty-site.com
________________________________

frame-src

Gibt gültige Quellen für geschachtelte Browserkontexte an,
die mithilfe von Elementen wie frame und iframe geladen werden.

Bestimmt die Quellen von Frames.

Beispiel:

frame-src   'self';

frame-src   https://example.com/

_________________________________________________________________

img-src

gibt gültige Quellen für Bilder und Favicons an.

Ermöglicht das Laden von Ressourcen vom angegebenen Domänennamen.

img-src   domain.example.com

________________________________

img-src   *.example.com

Ermöglicht das Laden von Ressourcen von jeder Subdomain unter example.com.
________________________________

img-src   https:

Ermöglicht das Laden von Ressourcen nur über HTTPS in jeder Domäne.
________________________________

img-src   https://example.com

Ermöglicht das Laden von Ressourcen nur über HTTPS,das der angegebenen Domäne entspricht.
________________________________

img-src   'self' ;
________________________________

img-src   'self' data:

Ermöglicht das Laden von Ressourcen über das Datenschema
(z. B. Base64-codierte Bilder).
________________________________

img-src   'self' img.beispiel.de;

Die Quellen von denen Bilder geladen werden dürfen.

_________________________________________________________________

manifest-src

Gibt gültige Quellen für Anwendungsmanifestdateien an.

manifest-src   https://example.com/

gibt an, welches Manifest angewendet werden kann auf die Ressource.
manifest-src
________________________________

media-src   https://example.com/

media-src   media.beispiel.de;

media-src   'self';

Bestimmt woher Audio- und Video-Dateien stammen dürfen.

gibt gültige Quellen für das Laden an Medien,
die die Elemente audio und video verwenden.

_________________________________________________________________

manifest-src

Legt fest, wohin aus dem Dokument navigiert werden darf.

Gibt gültige Quellen für Anwendungsmanifestdateien an.

Beispiel:

manifest-src   

_________________________________________________________________

media-src

Gibt gültige Quellen zum Laden
von Medien mit den Elementen audio und video an.
Beispiel:

media-src   https://example.com/

media-src   none

media-src   self

_________________________________________________________________

navigate-to

Schränkt die URLs ein,
zu denen ein Dokument mit beliebigen Mitteln navigieren kann
(a, form, window.location, window.open usw.)

Beispiel:

navigate-to   beispiel.de;

_________________________________________________________________

object-src

Gibt gültige Quellen für die Elemente object, embed und applet an.

Um zulässige Typen für object und embed festzulegen,
verwenden Sie die plugin-types-Direktive.

Beispiel:

object-src   https://example.com/

object-src   'none'
Verhindert das Laden von Ressourcen aus beliebigen Quellen.

object-src   'self';
Legt die Quellen von Flash und ähnlichen Formaten bzw. Plugins fest.

_________________________________________________________________
plugin-types

Legt über MIME-Types fest,
welche Plugins über object oder embed aufgerufen werden dürfen.

Beispiel:

plugin-types   application/pdf;
________________________________

prefetch-src

Welche Quellen mit rel="prefetch"
oder rel="prerender" geladen werden dürfen.

Veraltet:
Diese Funktion wird nicht mehr empfohlen.
Obwohl einige Browser es möglicherweise noch unterstützen,
wurde es möglicherweise bereits aus den relevanten Webstandards entfernt,
wird möglicherweise gerade gelöscht oder nur aus Kompatibilitätsgründen beibehalten.
Vermeiden Sie es, es zu verwenden,
und aktualisieren Sie vorhandenen Code, wenn möglich.
Sehen Sie sich die Kompatibilitätstabelle unten auf dieser Seite an,
um Ihre Entscheidung zu treffen.
Beachten Sie, dass diese Funktion jederzeit nicht mehr funktioniert.

Nicht standardmäßig:
Diese Funktion ist nicht standardmäßig
und befindet sich nicht auf einer Standardspur.
Verwenden Sie es nicht auf Produktionsstandorten,
die dem Web zugewandt sind: Es funktioniert nicht für jeden Benutzer.
Es kann auch große Inkompatibilitäten zwischen Implementierungen geben,
und das Verhalten kann sich in Zukunft ändern.

Beispiel:

prefetch-src   https://example.com/

prefetch-src   'none';

prefetch-src   'self'

_________________________________________________________________

referrer

Diese Funktion ist veraltet.
Obwohl es in einigen Browsern noch funktioniert,
wird von seiner Verwendung abgeraten,
da es jederzeit entfernt werden kann.
Versuchen Sie, es zu vermeiden.

Wird verwendet, um Informationen im Referer-Header (sic)
für Links außerhalb einer Seite anzugeben.
Verwenden Sie stattdessen den
Referrer-Policy Header.
no-referrer
Der Referer-Header wird vollständig weggelassen.
Es werden keine Referrer-Informationen zusammen mit Anfragen gesendet.

none-when-downgrade
Dies ist das Standardverhalten des Benutzeragenten,
wenn keine Richtlinie angegeben ist.
Der Ursprung wird als Referrer an ein
von vornherein so sicheres Ziel HTTPS-HTTPS gesendet,
aber nicht an ein weniger sicheres Ziel HTTPS-HTTP.

origin
Senden Sie in jedem Fall
nur die Herkunft des Dokuments als Referrer.

Das Dokument sendet den Referrer
https://example.com/page.htmlhttps://example.com/

origin-when-cross-origin / origin-when-crossorigin
Senden Sie eine vollständige URL,
wenn Sie eine Same-Origin-Anforderung ausführen,
aber senden Sie nur den Ursprung des Dokuments für andere Fälle.

unsafe-url
Senden Sie eine vollständige URL (entfernt von Parametern),
wenn Sie eine Anforderung desselben Ursprungs
oder eines Cross-Origins ausführen.
Durch diese Richtlinie werden
Ursprünge und Pfade
von TLS-geschützten Ressourcen
an unsichere Ursprünge weitergegeben.

Wägen Sie die Auswirkungen dieser Einstellung sorgfältig ab.

Beispiel:

referrer   "none";
_________________________________________________________________

report-to

Löst eine .SecurityPolicyViolationEvent
Weist den Benutzer-Agent an,
Berichtsendpunkte für einen Ursprung zu speichern

Die Richtlinie hat an und für sich keine Wirkung,
sondern gewinnt erst in Kombination an Bedeutung mit anderen Richtlinien.
_________________________________________________________________

report-uri

Weist den Benutzeragenten an, Versuche zu melden,
gegen die Content Security Policy zu verstoßen.

Diese Verletzungsberichte bestehen aus JSON-Dokumenten,
die über eine HTTP-Anforderung
an den angegebenen URI gesendet werden.POST
_________________________________________________________________

require-sri-for

Erfordert die Verwendung von SRI für Skripts
oder Stile auf der Seite.

weist den Client an, die Verwendung von Subresource Integrity für Skripts
oder Stile auf der Seite zu erzwingen.

script
Erfordert SRI für Skripte.

style
Erfordert SRI für Stylesheets.

script style
Erfordert SRI sowohl für Skripte als auch für Stylesheets.

Beispiel:

Content-Security-Policy: require-sri-for script style
_________________________________________________________________

sandbox

Aktiviert eine Sandbox für die angeforderte Ressource,
ähnlich dem Attribut iframe.
_________________________________________________________________

script-src

gibt gültige Quellen für JavaScript an.
Dazu gehören nicht nur URLs, die direkt in <script>-Elemente geladen werden,
sondern auch Dinge wie Inline-Script-Event-Handler () und XSLT-Stylesheets,
die die Skriptausführung auslösen können.

script-src   'nonce-rAnd0m'

Ermöglicht die Ausführung eines Inline-Skripts oder CSS,
wenn das Skript < script nonce="rAnd0m">-Tag
(z. B.: ) ein Nonce-Attribut enthält,
das mit dem im CSP-Header angegebenen Nonce übereinstimmt.
Die Nonce sollte eine sichere zufällige Zeichenfolge sein und nicht wiederverwendet werden.
CSP-Stufe 2

script-src   'self'
Ermöglicht das Laden von Ressourcen vom gleichen Ursprung (gleiches Schema, Host und Port).

script-src https://example.com/
_________________________________________________________________

script-src   'sha1-*****=';

script-src   'sha256-*****=';

Ermöglicht die Ausführung eines Inline-Skripts oder CSS,
wenn sein Hash mit dem angegebenen Hash im Header übereinstimmt.
Unterstützt derzeit SHA256, SHA384 oder SHA512.
CSP-Stufe 2

script-src   'sha384-*****=';

script-src   'sha512-*****=';
________________________________

script-src   'strict-dynamic'

Ermöglicht einem erlaubten Skript,
zusätzliche Skripte über nicht vom Parser eingefügte Skriptelemente zu laden
(zum Beispiel document.createElement('script');ist erlaubt).
CSP-Stufe 3
________________________________

script-src   'unsafe-eval'

Ermöglicht unsichere dynamische Codeauswertung wie JavaScripteval()

________________________________

script-src   'unsafe-hashes' 'sha256-abc...'

Ermöglicht das Aktivieren von Skripten in Event-Handlern (z . B. onclick).
Gilt nicht für javascript:oder Inline- < script>
CSP Level 3

________________________________
script-src   'unsafe-inline'
Ermöglicht die Verwendung von Inline-Quellelementen wie Stilattributen, Onclick- oder Skript-Tag-Bodys
(abhängig vom Kontext der Quelle, auf die sie angewendet werden)
und javascript:URIs

________________________________

script-src-attr
gibt gültige Quellen für JavaScript-Inlineereignishandler an.
Diese Direktive gibt nur gültige Quellen für Inline-Skriptereignishandler wie .
Sie gilt nicht für andere JavaScript-Quellen, die die Skriptausführung auslösen können,
z. B. URLs, die direkt in <script>-Elemente und XSLT-Stylesheets geladen werden.
(Gültige Quellen können für alle JavaScript-Skriptquellen mit script-src
oder nur für Elemente mit script-src-elem angegeben werden.)onclick<script>

Beispiel:

script-src-attr   'none'
________________________________

script-src-elem


gibt gültige Quellen für JavaScript-Elemente <script> an.
Diese Direktive gibt nur gültige Quellen in Elementen an
(sowohl Skriptanforderungen als auch Blöcke).
Sie gilt nicht für andere JavaScript-Quellen,
die die Skriptausführung auslösen können,
z. B. Inline-Skriptereignishandler (),
Skriptausführungsmethoden,
die bei der "unsafe-eval"-Prüfung eingeschränkt sind,
und XSLT-Stylesheets.
(Gültige Quellen können für alle JavaScript-Skriptquellen mit script-src
oder nur für Inline-Skripthandler mit script-src-attr angegeben werden.)

Beispiel:

script-src-elem   https://example.com/
________________________________

style-src

gibt gültige Quellen für Stylesheets an.

Beispiel:

style-src   https://example.com/

style-src   'self'
________________________________

style-src-attr

gibt gültige Quellen für Inline-Stile an,
die auf einzelne DOM-Elemente angewendet werden.
Die Direktive legt keine gültigen Quellen für <style>-Elemente
und <link>-Elemente mit fest.
Diese werden mit style-src-elem gesetzt
(und gültige Quellen für alle Stile können mit style-src gesetzt werden).rel="stylesheet"

Beispiel:

style-src-attr   'none'
________________________________

style-src-elem

gibt gültige Quellen für Stylesheet-Elemente <style>
und <link>-Elemente mit an.rel="stylesheet"
Die Direktive legt keine gültigen Quellen für Inline-Stilattribute fest.
Diese werden mit style-src-attr gesetzt
(und gültige Quellen für alle Stile können mit style-src gesetzt werden).

Beispiel:

style-src-elem   https://example.com/
_________________________________________________________________

upgrade-insecure-requests

Weist Benutzeragenten an,
alle unsicheren URLs einer Website
(die über HTTP bereitgestellt werden) so zu behandeln,
als wären sie durch sichere URLs (die über HTTPS bereitgestellt werden) ersetzt worden.

Diese Direktive ist für Websites mit einer großen Anzahl unsicherer Legacy-URLs gedacht,
die neu geschrieben werden müssen.

Die Direktive wird vor block-all-mixed-content ausgewertet,
und wenn sie gesetzt ist, ist letzteres effektiv ein No-Op.
Es wird empfohlen, die eine
oder andere Direktive festzulegen,
aber nicht beide.

Die Richtlinie stellt nicht sicher,
dass Benutzer, die Ihre Website über Links auf Websites Dritter besuchen,
für die Navigation auf oberster Ebene auf HTTPS aktualisiert werden,
und ersetzt daher nicht den Strict-Transport-Security (HSTS)-Header,
der weiterhin mit einem geeigneten gesetzt werden sollte,
um sicherzustellen, dass Benutzer keinen SSL-Stripping-Angriffen ausgesetzt sind.

Beispiel:

upgrade-insecure-requests   

_________________________________________________________________

worker-src

gibt gültige Quellen für Worker-, SharedWorker- oder ServiceWorker-Skripts an.

Beispiel:

worker-src   https://example.com/

worker-src   'self';
_________________________________________________________________

Ein Website-Administrator möchte Inhalte von einer vertrauenswürdigen Domäne und allen ihren Unterdomänen zulassen
(es muss nicht dieselbe Domäne sein, auf die der CSP eingestellt ist).

Content-Security-Policy   default-src 'self' example.com *.example.com

Prüf-Tool für Content-Security-Policy auf webbkoll.dataskydd.net

Weiter Infos zu Metadaten infosec.mozilla.org

HTTP-Antwortheader