CSP: default-src
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2016.
Die HTTP-Richtlinie Content-Security-Policy
(CSP) default-src
dient als Fallback für die anderen CSP-Abrufrichtlinien. Für jede der folgenden, nicht vorhandenen Richtlinien sucht der Benutzeragent nach der default-src
-Richtlinie und verwendet diesen Wert:
child-src
connect-src
font-src
frame-src
img-src
manifest-src
media-src
object-src
prefetch-src
script-src
script-src-elem
script-src-attr
style-src
style-src-elem
style-src-attr
worker-src
CSP-Version | 1 |
---|---|
Richtlinientyp | Abrufrichtlinie |
Syntax
Content-Security-Policy: default-src 'none';
Content-Security-Policy: default-src <source-expression-list>;
Diese Richtlinie kann einen der folgenden Werte haben:
'none'
-
Es dürfen keine Ressourcen geladen werden. Die einfachen Anführungszeichen sind zwingend erforderlich.
<source-expression-list>
-
Eine durch Leerzeichen getrennte Liste von source expression-Werten. Ressourcen dürfen geladen werden, wenn sie mit einem der angegebenen Quellausdrücke übereinstimmen. Für diese Richtlinie sind alle Quellausdrücke, die in der Abrufrichtliniensyntax aufgeführt sind, anwendbar.
Beispiele
Keine Vererbung mit default-src
Wenn andere Richtlinien angegeben sind, beeinflusst default-src
diese nicht. Der folgende Header:
Content-Security-Policy: default-src 'self'; script-src https://example.com
ist dasselbe wie:
Content-Security-Policy: connect-src 'self';
font-src 'self';
frame-src 'self';
img-src 'self';
manifest-src 'self';
media-src 'self';
object-src 'self';
script-src https://example.com;
style-src 'self';
worker-src 'self'
Firefox-Problem mit SVG-Sprite-Blockierung bei default-src: none
CSP-Richtlinien empfehlen oft, mit default-src 'none'
zu starten, um das Laden aller Ressourcen zu blockieren, und dann weitere Richtlinien hinzuzufügen, um die Richtlinie zu lockern und nur die benötigten Ressourcen zu laden. Zum Beispiel, um nur das Laden von Bildern derselben Herkunft zu erlauben:
Content-Security-Policy: default-src 'none'; img-src 'self'
Es gibt jedoch ein Problem. Wenn Sie SVG-Sprites, die in externen Dateien über das <use>
-Element definiert sind, einbetten, z.B.:
<svg>
<use href="/images/icons.svg#icon"/>
</svg>
werden Ihre SVG-Bilder in Firefox blockiert, wenn Sie eine default-src 'none'
-Richtlinie gesetzt haben. Firefox behandelt das SVG nicht wie ein eingebettetes Bild wie andere Browser, daher wird img-src 'self'
diese nicht laden. Sie müssen default-src 'self'
verwenden, wenn Sie möchten, dass Ihre externen Sprites in Firefox geladen werden (siehe Bug 1773976 und dieses CSP-Spezifikationsproblem für weitere Informationen).
Alternativ, wenn die default-src 'none'
-Richtlinie eine feste Anforderung ist, können Sie die SVG-Sprites in die HTML-Seite einfügen:
<body>
<svg style="display: none">
<symbol id="icon" viewBox="0 0 24 24">
<path d="…" />
</symbol>
</svg>
…
<svg>
<use href="#icon" />
</svg>
</body>
Spezifikationen
Specification |
---|
Content Security Policy Level 3 # directive-default-src |
Browser-Kompatibilität
BCD tables only load in the browser