Google Fonts verstößt gegen die Inhaltssicherheitsrichtlinie
Lesezeit: 5 Minuten
Ich versuche, Google Fonts zu verwenden, und ich hatte noch nie Probleme, aber wenn ich jetzt versuche, die CSS-Datei zu meinem Header hinzuzufügen, erhalte ich diesen Fehler in der Konsole:
Weigerte sich, das Stylesheet zu laden 'http://fonts.googleapis.com/css?family=Whatever' weil es gegen die folgende Richtlinie zur Inhaltssicherheit verstößt: "style-src 'self' 'unsafe-inline'".
Sie müssen also den von Ihnen gesendeten CSP-Header ändern, um diese Ressource zuzulassen. Wenn Sie sich die aktuelle Einstellung ansehen, können Sie deutlich sehen, dass Stile auf den Standort beschränkt sind self was höchstwahrscheinlich nicht enthalten ist googleapis.com .
– Arkascha
29. November 2015 um 16:16 Uhr
Ich habe versucht, es mit einem Meta-Tag zu ändern und einige Dinge hinzuzufügen, die ich im Internet gesehen habe, aber ich konnte das Problem nicht lösen …
– José María
29. November 2015 um 16:17 Uhr
Das hat nichts mit Meta-Tags zu tun. EIN CSP header ist ein HTTP-Header, also Teil des Protokolls, nicht des Inhalts. Sie senden es absichtlich oder aus Versehen. Vielleicht, weil Sie ein Framework verwenden, aber wir können nicht mehr sagen, ohne dass Sie weitere Details posten.
– Arkascha
29. November 2015 um 16:17 Uhr
Hmmmm, ich verwende Meteor JS
– José María
29. November 2015 um 16:20 Uhr
Sie können diesen Header leicht selbst überprüfen, wenn Sie der angezeigten Fehlermeldung nicht glauben: Öffnen Sie einfach die Entwicklungskonsole Ihres Browsers und sehen Sie sich die Header der ausgeführten Basisanforderungen an. Sie werden besagten Header enthalten. Oder man benutzt einen Netzwerk-Sniffer, kommt das gleiche raus.
– Arkascha
29. November 2015 um 16:22 Uhr
Rolinh
Hier sind zwei Dinge zu beheben:
Verwenden Sie https für den Link zu Google Fonts (https://fonts.googleapis.com/css?family=Whatever)
Autorisieren https://fonts.googleapis.com in style-src Richtlinie u https://fonts.gstatic.com in font-src Richtlinie: "style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com"
Kopieren Sie für andere, die sich diese Antwort ansehen, nicht das ‘unsafe-inline’, da dies ohne triftigen Grund die Sicherheit verringert – es ist nicht erforderlich, damit die Schriftarten funktionieren. Der einzige Grund, warum es da ist, ist, dass das OP es in seinem ursprünglichen Code hatte. Verwenden style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com;
– Kevin Lee
16. Juli 2017 um 14:12 Uhr
@KevinLee Wenn Sie Ihren Kommentar in eine Antwort umwandeln, würde ich ihn positiv bewerten.
– lilalinux
4. August 2018 um 10:10 Uhr
@KevinLee tatsächlich könnte es sehr gut erforderlich sein, wenn Sie Ihre Stile einbetten – Hexe ist zum Beispiel in Reaktionsanwendungen sehr verbreitet.
– jBoive
27. November 2018 um 8:24 Uhr
Owen
Wenn Sie wie ich und ein wenig verwirrt sind, weil jede Antwort nur besagt, dass Sie eine URL in a autorisieren müssen style-src Direktive, ohne zu zeigen, wie es geht, hier ist das vollständige Tag:
Verringern die Inhaltsoptionen, die Sie ausgelassen haben, wie default-src usw., die Sicherheit, oder ist es dasselbe, als hätten Sie keine meta csp überhaupt markieren?
– Drenai
19. März 2018 um 14:44 Uhr
Mit dem unsafe-inline Attribut erlaubt, verringert es tatsächlich die Sicherheit. Das Tag kann ohne das gut funktionieren, da es Ihre App anfälliger für XSS-Angriffe macht.
– Paul Razvan Berg
30. März 2018 um 9:11 Uhr
‘unsafe-inline’ entfernt
– Owen
9. April 2018 um 14:38 Uhr
Ich habe es einfach so verwendet: <meta http-equiv="Content-Security-Policy" content="style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com">
– Yvonne Burrow
9. April 2018 um 14:41 Uhr
@Owen Es ist wirklich schwierig, gute Informationen zu finden meta tag csps. Ich bin nicht sicher, ob ich meine Font-Warnung auflösen kann, auf die Gefahr hin, dass alles andere weniger sicher wird:-) Meine Website ist eine Portfolio-Website, und ich möchte nicht gefragt werden: “Warum tust du das?” in einem Interview:-)
– Drenai
18. April 2018 um 14:37 Uhr
Manohar Reddy Poreddy
Es gibt mehrere Quellen, die angegeben werden können Content-Security-Policy.
Unten finden Sie klare Details, die für mich funktioniert haben.
Je nachdem, welchen Inhaltsfehler (CSS, Bild, Schriftart, Medien) Sie haben, können Sie die URL unten ändern.
default-src wurde gerade eingestellt 'self'. Dies ist nicht notwendig, aber ich wollte, dass alles andere gesperrt ist. Diese Einschränkung kann Fehler in der Browserkonsole auslösen. Passen Sie sich nach Bedarf an. musste ich hinzufügen wss:planenum eine Web-Socket-Verbindung für den Angular-Debugger zuzulassen.
style-src brauchte die 'unsafe-inline'Stichwort. Ich vermute, dass es daran liegt, dass der Stil gepackt / minimiert ist.
script-src wurde auch mit benötigt 'unsafe-inline'Stichwort. Obwohl ich das heruntergeladene Stylesheet überprüft habe und nichts Offensichtliches gesehen habe, denke ich, dass es dort etwas geben muss, das als Skript betrachtet wird.
font-src brauchte die data:planen. Die Browserkonsole hat einen Fehler beim Abrufen ausgegeben data:application/font-woff;charset=utf-8… (“font-src”). Dies kann etwas sein, das von einer anderen Stelle in meinem Angular-Code kommt, aber es kann für jemanden nützlich sein.
Sie müssen also den von Ihnen gesendeten CSP-Header ändern, um diese Ressource zuzulassen. Wenn Sie sich die aktuelle Einstellung ansehen, können Sie deutlich sehen, dass Stile auf den Standort beschränkt sind
self
was höchstwahrscheinlich nicht enthalten istgoogleapis.com
.– Arkascha
29. November 2015 um 16:16 Uhr
Ich habe versucht, es mit einem Meta-Tag zu ändern und einige Dinge hinzuzufügen, die ich im Internet gesehen habe, aber ich konnte das Problem nicht lösen …
– José María
29. November 2015 um 16:17 Uhr
Das hat nichts mit Meta-Tags zu tun. EIN
CSP header
ist ein HTTP-Header, also Teil des Protokolls, nicht des Inhalts. Sie senden es absichtlich oder aus Versehen. Vielleicht, weil Sie ein Framework verwenden, aber wir können nicht mehr sagen, ohne dass Sie weitere Details posten.– Arkascha
29. November 2015 um 16:17 Uhr
Hmmmm, ich verwende Meteor JS
– José María
29. November 2015 um 16:20 Uhr
Sie können diesen Header leicht selbst überprüfen, wenn Sie der angezeigten Fehlermeldung nicht glauben: Öffnen Sie einfach die Entwicklungskonsole Ihres Browsers und sehen Sie sich die Header der ausgeführten Basisanforderungen an. Sie werden besagten Header enthalten. Oder man benutzt einen Netzwerk-Sniffer, kommt das gleiche raus.
– Arkascha
29. November 2015 um 16:22 Uhr