Erzwingen einer Content Security Policy für ASP.NET Core Blazor
Hinweis
Dies ist nicht die neueste Version dieses Artikels. Informationen zum aktuellen Release finden Sie in der .NET 8-Version dieses Artikels.
Warnung
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der Supportrichtlinie für .NET und .NET Core. Informationen zum aktuellen Release finden Sie in der .NET 8-Version dieses Artikels.
Wichtig
Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.
Informationen zum aktuellen Release finden Sie in der .NET 8-Version dieses Artikels.
In diesem Artikel wird erläutert, wie Sie eine Content Security Policy (CSP) auf ASP.NET Core Blazor-Apps anwenden, um sich gegen XSS-Angriffe (Cross-Site-Scripting) zu schützen.
Cross-Site Scripting (XSS) ist eine Sicherheitslücke, bei der ein Cyberangreifer ein oder mehrere bösartige clientseitige Skripts in den gerenderten Inhalt einer Anwendung einfügt. Eine CSP hilft beim Schutz gegen XSS-Angriffe, indem sie den Browser über Folgendes informiert:
- Quellen für geladenen Inhalt, einschließlich Skripts, Stylesheets, Bildern und Plug-Ins
- gültige von einer Webseite durchgeführte Aktionen, wobei die URL-Ziele von Formularen angegeben werden
Zum Anwenden einer CSP auf eine App gibt der Entwickler mehrere CSP-Anweisungen zur Inhaltssicherheit in mindestens einem Content-Security-Policy
-Header oder <meta>
-Tag an. Anleitungen zum Anwenden einer CSP auf eine App in C#-Code beim Start finden Sie unter Starten von ASP.NET Core Blazor.
Die Richtlinien werden vom Browser ausgewertet, während eine Seite geladen wird. Der Browser untersucht die Quellen der Seite und bestimmt, ob diese die Anforderungen der Anweisungen zur Inhaltssicherheit erfüllen. Wenn Richtlinienanweisungen für eine Ressource nicht erfüllt werden, lädt der Browser die Ressource nicht. Denken Sie sich beispielsweise eine Richtlinie, die keine Skripts von Drittanbietern zulässt. Wenn eine Seite ein <script>
-Tag mit Drittanbieterursprung im src
-Attribut enthält, verhindert der Browser das Laden des Skripts.
CSP wird von den meisten modernen Desktopbrowsern und mobilen Browsern unterstützt, darunter Chrome, Microsoft Edge, Firefox, Opera und Safari. CSP wird für Blazor-Apps empfohlen.
Richtlinienanweisungen
Geben Sie mindestens die folgenden Anweisungen und Quellen für Blazor-Apps an. Fügen Sie nach Bedarf weitere Anweisungen und Quellen hinzu. Die folgenden Anweisungen werden im Abschnitt Anwenden der Richtlinie dieses Artikels verwendet, in dem Beispiele für Sicherheitsrichtlinien für Blazor-Apps bereitgestellt werden:
- base-uri: Diese Anweisung schränkt die URLs für das
<base>
-Tag einer Seite ein. Geben Sieself
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - default-src: Diese Anweisung gibt ein Fallback für Quellanweisungen an, die nicht explizit von der Richtlinie angegeben werden. Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - img-src: Diese Anweisung gibt gültige Quellen für Bilder an.
- Geben Sie
data:
an, um das Laden von Bildern ausdata:
-URLs zuzulassen. - Geben Sie
https:
an, um das Laden von Bildern aus HTTPS-Endpunkten zuzulassen.
- Geben Sie
- object-src: Diese Anweisung gibt gültige Quellen für die Tags
<object>
,<embed>
und<applet>
an. Geben Sienone
an, um alle URL-Quellen zu verhindern. - script-src: Diese Anweisung gibt gültige Quellen für Skripts an.
- Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - In einer clientseitigen Blazor-App:
- Geben Sie
wasm-unsafe-eval
an, um die serverseitige Blazor-Mono-Laufzeit zuzulassen. - Geben Sie zusätzliche Hashes an, damit die erforderlichen Skripts ohne Framework geladen werden können.
- Geben Sie
- Geben Sie in einer serverseitigen Blazor-App Hashes an, um das Laden erforderlicher Skripts zuzulassen.
- Geben Sie
- style-src: Diese Anweisung gibt gültige Quellen für Stylesheets an.
- Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - Wenn die App Inlineformatvorlagen verwendet, geben Sie
unsafe-inline
an, um die Verwendung Ihrer Inlineformatvorlagen zu ermöglichen.
- Geben Sie
- upgrade-insecure-requests: Diese Anweisung gibt an, dass Inhalts-URLs aus unsicheren (HTTP-) Quellen sicher über HTTPS aufgerufen werden sollen.
- base-uri: Diese Anweisung schränkt die URLs für das
<base>
-Tag einer Seite ein. Geben Sieself
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - default-src: Diese Anweisung gibt ein Fallback für Quellanweisungen an, die nicht explizit von der Richtlinie angegeben werden. Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - img-src: Diese Anweisung gibt gültige Quellen für Bilder an.
- Geben Sie
data:
an, um das Laden von Bildern ausdata:
-URLs zuzulassen. - Geben Sie
https:
an, um das Laden von Bildern aus HTTPS-Endpunkten zuzulassen.
- Geben Sie
- object-src: Diese Anweisung gibt gültige Quellen für die Tags
<object>
,<embed>
und<applet>
an. Geben Sienone
an, um alle URL-Quellen zu verhindern. - script-src: Diese Anweisung gibt gültige Quellen für Skripts an.
- Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - In einer clientseitigen Blazor-App:
- Geben Sie
unsafe-eval
an, um die serverseitige Blazor-Mono-Laufzeit zuzulassen. - Geben Sie zusätzliche Hashes an, damit die erforderlichen Skripts ohne Framework geladen werden können.
- Geben Sie
- Geben Sie in einer serverseitigen Blazor-App Hashes an, um das Laden erforderlicher Skripts zuzulassen.
- Geben Sie
- style-src: Diese Anweisung gibt gültige Quellen für Stylesheets an.
- Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - Wenn die App Inlineformatvorlagen verwendet, geben Sie
unsafe-inline
an, um die Verwendung Ihrer Inlineformatvorlagen zu ermöglichen.
- Geben Sie
- upgrade-insecure-requests: Diese Anweisung gibt an, dass Inhalts-URLs aus unsicheren (HTTP-) Quellen sicher über HTTPS aufgerufen werden sollen.
- base-uri: Diese Anweisung schränkt die URLs für das
<base>
-Tag einer Seite ein. Geben Sieself
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - default-src: Diese Anweisung gibt ein Fallback für Quellanweisungen an, die nicht explizit von der Richtlinie angegeben werden. Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - img-src: Diese Anweisung gibt gültige Quellen für Bilder an.
- Geben Sie
data:
an, um das Laden von Bildern ausdata:
-URLs zuzulassen. - Geben Sie
https:
an, um das Laden von Bildern aus HTTPS-Endpunkten zuzulassen.
- Geben Sie
- object-src: Diese Anweisung gibt gültige Quellen für die Tags
<object>
,<embed>
und<applet>
an. Geben Sienone
an, um alle URL-Quellen zu verhindern. - script-src: Diese Anweisung gibt gültige Quellen für Skripts an.
- Geben Sie die Hostquelle
https://stackpath.bootstrapcdn.com/
für Bootstrapskripts an. - Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - In einer clientseitigen Blazor-App:
- Geben Sie
unsafe-eval
an, um die serverseitige Blazor-Mono-Laufzeit zuzulassen. - Geben Sie zusätzliche Hashes an, damit die erforderlichen Skripts ohne Framework geladen werden können.
- Geben Sie
- Geben Sie in einer serverseitigen Blazor-App Hashes an, um das Laden erforderlicher Skripts zuzulassen.
- Geben Sie die Hostquelle
- style-src: Diese Anweisung gibt gültige Quellen für Stylesheets an.
- Geben Sie die Hostquelle
https://stackpath.bootstrapcdn.com/
für Bootstrapstylesheets an. - Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - Geben Sie
unsafe-inline
an, um die Verwendung von Inlineformatvorlagen zuzulassen.
- Geben Sie die Hostquelle
- upgrade-insecure-requests: Diese Anweisung gibt an, dass Inhalts-URLs aus unsicheren (HTTP-) Quellen sicher über HTTPS aufgerufen werden sollen.
- base-uri: Diese Anweisung schränkt die URLs für das
<base>
-Tag einer Seite ein. Geben Sieself
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - default-src: Diese Anweisung gibt ein Fallback für Quellanweisungen an, die nicht explizit von der Richtlinie angegeben werden. Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - img-src: Diese Anweisung gibt gültige Quellen für Bilder an.
- Geben Sie
data:
an, um das Laden von Bildern ausdata:
-URLs zuzulassen. - Geben Sie
https:
an, um das Laden von Bildern aus HTTPS-Endpunkten zuzulassen.
- Geben Sie
- object-src: Diese Anweisung gibt gültige Quellen für die Tags
<object>
,<embed>
und<applet>
an. Geben Sienone
an, um alle URL-Quellen zu verhindern. - script-src: Diese Anweisung gibt gültige Quellen für Skripts an.
- Geben Sie die Hostquelle
https://stackpath.bootstrapcdn.com/
für Bootstrapskripts an. - Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - In einer clientseitigen Blazor-App:
- Geben Sie Hashes an, um das Laden erforderlicher Skripts zuzulassen.
- Geben Sie
unsafe-eval
an, umeval()
und Methoden zum Erstellen von Code aus Zeichenfolgen zu verwenden.
- Geben Sie in einer serverseitigen Blazor-App Hashes an, um das Laden erforderlicher Skripts zuzulassen.
- Geben Sie die Hostquelle
- style-src: Diese Anweisung gibt gültige Quellen für Stylesheets an.
- Geben Sie die Hostquelle
https://stackpath.bootstrapcdn.com/
für Bootstrapstylesheets an. - Geben Sie
self
an, um anzugeben, dass der Ursprung der App, einschließlich des Schemas und der Portnummer, eine gültige Quelle ist. - Geben Sie
unsafe-inline
an, um die Verwendung von Inlineformatvorlagen zuzulassen. Die Inlinedeklaration ist für die Benutzeroberfläche erforderlich, mit der erneute eine Verbindung zwischen Client und Server nach der ursprünglichen Anforderung hergestellt wird. In einem zukünftigen Release wird die Inlineformatierung möglicherweise entfernt, sodassunsafe-inline
nicht mehr benötigt wird.
- Geben Sie die Hostquelle
- upgrade-insecure-requests: Diese Anweisung gibt an, dass Inhalts-URLs aus unsicheren (HTTP-) Quellen sicher über HTTPS aufgerufen werden sollen.
Die vorangehenden Anweisungen werden mit Ausnahme von Microsoft Internet Explorer von allen Browsern unterstützt.
So rufen Sie SHA-Hashes für zusätzliche Inlineskripts ab:
- Wenden Sie die im Abschnitt Anwenden der Richtlinie dargestellte CSP an.
- Greifen Sie auf die Konsole mit den Entwicklertools des Browsers zu, während Sie die App lokal ausführen. Der Browser berechnet Hashes für blockierte Skripts und zeigt diese an, wenn ein CSP-Header oder
meta
-Tag vorhanden ist. - Kopieren Sie die Hashes, die vom Browser bereitgestellt werden, in die
script-src
-Quellen. Setzen Sie jeden Hash in einfache Anführungszeichen.
Eine Browserunterstützungsmatrix für eine Content Security Policy Level 2 finden Sie unter Can I use: Content Security Policy Level 2 (Kann ich Content Security Policy Level 2 verwenden?).
Anwenden der Richtlinie
Verwenden Sie ein <meta>
-Tag, um die Richtlinie anzuwenden:
- Legen Sie den Wert des
http-equiv
-Attributs aufContent-Security-Policy
fest. - Platzieren Sie die Anweisungen im Wert des
content
-Attributs. Trennen Sie Anweisungen durch ein Semikolon (;
). - Platzieren Sie das
meta
-Tag immer im<head>
-Inhalt.
In den folgenden Abschnitten werden Beispielrichtlinien gezeigt. Diese Beispiele werden für jedes Release von Blazor mit diesem Artikel versioniert. Um eine für Ihr Release geeignete Version zu verwenden, wählen Sie auf dieser Webseite mithilfe der Dropdownauswahl Version die Dokumentversion aus.
Serverseitige Blazor-Apps
Wenden Sie im <head>
-Inhalt die im Abschnitt Richtlinienanweisungen beschriebenen Anweisungen an:
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src 'self';
style-src 'self';
upgrade-insecure-requests;">
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src https://stackpath.bootstrapcdn.com/
'self';
style-src https://stackpath.bootstrapcdn.com/
'self'
'unsafe-inline';
upgrade-insecure-requests;">
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src https://stackpath.bootstrapcdn.com/
'self'
'sha256-34WLX60Tw3aG6hylk0plKbZZFXCuepeQ6Hu7OqRf8PI=';
style-src https://stackpath.bootstrapcdn.com/
'self'
'unsafe-inline';
upgrade-insecure-requests;">
Fügen Sie zusätzliche script-src
- und style-src
-Hashes hinzu, die von der App benötigt werden. Verwenden Sie während der Entwicklung ein Onlinetool oder Browserentwicklertools, damit die Hashes für Sie berechnet werden. Beispielsweise meldet der folgende Fehler einer Browsertoolkonsole den Hash für ein erforderliches Skript, das nicht durch die Richtlinie abgedeckt ist:
Die Ausführung des Inlineskripts wurde verweigert, da es die folgende Anweisung der Inhaltssicherheitsrichtlinie verletzt: „...“. Zum Aktivieren der Inlineausführung ist entweder das Schlüsselwort „unsafe-inline“, ein Hash („sha256-v8v3RKRPmN4odZ1CWM5gw80QKPCCWMcpNeOmimNL2AA=“) oder eine Nonce („nonce-...“) erforderlich.
Das Skript, das diesem Fehler zugeordnet ist, wird neben dem Fehler in der Konsole angezeigt.
Clientseitige Blazor-Apps
Wenden Sie im <head>
-Inhalt die im Abschnitt Richtlinienanweisungen beschriebenen Anweisungen an:
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src 'self'
'wasm-unsafe-eval';
style-src 'self';
upgrade-insecure-requests;">
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src 'self'
'unsafe-eval';
style-src 'self';
upgrade-insecure-requests;">
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src 'self'
'sha256-v8v3RKRPmN4odZ1CWM5gw80QKPCCWMcpNeOmimNL2AA='
'unsafe-eval';
style-src 'self';
upgrade-insecure-requests;">
Hinweis
Der Hash sha256-v8v3RKRPmN4odZ1CWM5gw80QKPCCWMcpNeOmimNL2AA=
stellt das Inline-Skript dar, das für die serverseitige Blazor-App verwendet wird. Dieses kann in Zukunft entfernt werden.
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src https://stackpath.bootstrapcdn.com/
'self'
'sha256-v8v3RKRPmN4odZ1CWM5gw80QKPCCWMcpNeOmimNL2AA='
'unsafe-eval';
style-src https://stackpath.bootstrapcdn.com/
'self'
'unsafe-inline';
upgrade-insecure-requests;">
<meta http-equiv="Content-Security-Policy"
content="base-uri 'self';
default-src 'self';
img-src data: https:;
object-src 'none';
script-src https://stackpath.bootstrapcdn.com/
'self'
'sha256-v8ZC9OgMhcnEQ/Me77/R9TlJfzOBqrMTW8e1KuqLaqc='
'sha256-If//FtbPc03afjLezvWHnC3Nbu4fDM04IIzkPaf3pH0='
'sha256-v8v3RKRPmN4odZ1CWM5gw80QKPCCWMcpNeOmimNL2AA='
'unsafe-eval';
style-src https://stackpath.bootstrapcdn.com/
'self'
'unsafe-inline';
upgrade-insecure-requests;">
Fügen Sie zusätzliche script-src
- und style-src
-Hashes hinzu, die von der App benötigt werden. Verwenden Sie während der Entwicklung ein Onlinetool oder Browserentwicklertools, damit die Hashes für Sie berechnet werden. Beispielsweise meldet der folgende Fehler einer Browsertoolkonsole den Hash für ein erforderliches Skript, das nicht durch die Richtlinie abgedeckt ist:
Die Ausführung des Inlineskripts wurde verweigert, da es die folgende Anweisung der Inhaltssicherheitsrichtlinie verletzt: „...“. Zum Aktivieren der Inlineausführung ist entweder das Schlüsselwort „unsafe-inline“, ein Hash („sha256-v8v3RKRPmN4odZ1CWM5gw80QKPCCWMcpNeOmimNL2AA=“) oder eine Nonce („nonce-...“) erforderlich.
Das Skript, das diesem Fehler zugeordnet ist, wird neben dem Fehler in der Konsole angezeigt.
Anwenden eines CSP in Nicht-Development
-Umgebungen
Wenn ein CSP auf den <head>
-Inhalt einer Blazor App angewendet wird, beeinträchtigt dies lokale Tests in der Development
-Umgebung. Beispielsweise können der Browserlink und das Browseraktualisierungsskript nicht geladen werden. Die folgenden Beispiele veranschaulichen, wie das CSP-Tag <meta>
in Nicht-Development
-Umgebungen angewendet wird.
Hinweis
In den Beispielen in diesem Abschnitt wird das vollständige <meta>
-Tag für die CSPs nicht angezeigt. Die vollständigen <meta>
-Tags finden Sie in den Unterabschnitten des Abschnitts Richtlinie anwenden weiter oben in diesem Artikel.
Es stehen drei allgemeine Ansätze zur Verfügung:
- Wenden Sie den CSP über die
App
-Komponente an, die den CSP auf alle Layouts der App anwendet. - Wenn Sie CSPs auf verschiedene Bereiche der App anwenden müssen, z. B. einen benutzerdefinierten CSP nur für die Administratorseiten, wenden Sie die CSPs pro Layout mithilfe des
<HeadContent>
Tags an. Zur vollständigen Effektivität muss jede App-Layoutdatei den Ansatz übernehmen. - Der Hostingdienst oder -server kann einen CSP über einen
Content-Security-Policy
Header bereitstellen, der die ausgehenden Antworten einer App hinzugefügt hat. Da dieser Ansatz je nach Hostingdienst oder Server variiert, wird er in den folgenden Beispielen nicht behandelt. Wenn Sie diesen Ansatz übernehmen möchten, lesen Sie die Dokumentation ihres Hostingdienstanbieters oder Servers.
Blazor Web App Ansätze
IHostEnvironment in die App
Komponente (Components/App.razor
) einfügen:
@inject IHostEnvironment Env
Wenden Sie im <head>
-Inhalt der App
Komponente den CSP an, wenn Sie nicht die Development
-Umgebung verwenden:
@if (!Env.IsDevelopment())
{
<meta ...>
}
Alternativ können Sie CSPs pro Layout im Components/Layout
-Ordner anwenden, wie im folgenden Beispiel veranschaulicht. Stellen Sie sicher, dass jedes Layout einen CSP angibt.
@inject IHostEnvironment Env
@if (!Env.IsDevelopment())
{
<HeadContent>
<meta ...>
</HeadContent>
}
Blazor WebAssembly App-Ansätze
IWebAssemblyHostEnvironment in die App
Komponente (App.razor
) einfügen:
@using Microsoft.AspNetCore.Components.WebAssembly.Hosting
@inject IWebAssemblyHostEnvironment Env
Wenden Sie im <head>
-Inhalt der App
Komponente den CSP an, wenn Sie nicht die Development
-Umgebung verwenden:
@if (!Env.IsDevelopment())
{
<HeadContent>
<meta ...>
</HeadContent>
}
Verwenden Sie alternativ den vorherigen Code, wenden Sie jedoch CSPs pro Layout im Layout
-Ordner an. Stellen Sie sicher, dass jedes Layout einen CSP angibt.
Einschränkungen für META-Tags
Die folgenden Direktiven werden von einer <meta>
-Tagrichtlinie nicht unterstützt:
Zum Unterstützen der vorangehenden Anweisung verwenden Sie einen Header mit dem Namen Content-Security-Policy
. Die Zeichenfolge der Anweisung ist der Wert des Headers.
Testen einer Richtlinie und Empfangen von Berichten zu Verstößen
Durch das Testen kann besser sichergestellt werden, dass Drittanbieterskripts beim Erstellen einer anfänglichen Richtlinie nicht versehentlich blockiert werden.
Legen Sie das <meta>
-Attribut des http-equiv
-Tags oder den Headernamen einer headerbasierten Richtlinie auf Content-Security-Policy-Report-Only
fest, um eine Richtlinie eine Zeit lang zu testen, ohne die Richtlinienanweisungen zu erzwingen. Fehlerberichte werden als JSON-Dokumente an eine angegebene URL gesendet. Weitere Informationen finden Sie unter MDN Web Docs: Content-Security-Policy-Report-Only.
Informationen zur Berichterstattung zu Verstößen während einer aktiven Richtlinie finden Sie in folgenden Artikeln:
Obwohl die Verwendung von report-uri
nicht mehr empfohlen wird, sollten beide Anweisungen verwendet werden, bis report-to
von allen wichtigen Browsern unterstützt wird. Verwenden Sie nicht ausschließlich report-uri
, da die Unterstützung für report-uri
von Browsern jederzeit beendet werden könnte. Entfernen Sie die Unterstützung für report-uri
in Ihren Richtlinien, sobald report-to
vollständig unterstützt wird. Die Einführung von report-to
können Sie unter Can I use: report-to (Kann ich „report-to“ verwenden?) nachverfolgen.
Testen und aktualisieren Sie die Richtlinie einer App bei jedem Release.
Problembehandlung
- Fehler werden in der Konsole mit den Entwicklertools des Browsers angezeigt. Browser stellen Informationen über Folgendes bereit:
- Elemente, die die Richtlinie nicht einhalten
- Vorgehensweise zur Anpassung der Richtlinie, sodass ein blockiertes Element zugelassen wird
- Eine Richtlinie ist nur dann vollständig wirksam, wenn der Clientbrowser alle enthaltenen Anweisung unterstützt. Eine aktuelle Browserunterstützungsmatrix finden Sie unter Can I use: Content-Security-Policy (Kann ich Content-Security-Policy verwenden?).
Zusätzliche Ressourcen
ASP.NET Core