2016-11-01 2 views
11

Ich habe eine App, mit der der Benutzer eine Bild-URL kopieren und in eine Eingabe einfügen kann. Das Bild wird dann in eine Box geladen.Inhaltssicherheitsrichtlinie: "img-src 'self' data:"

Aber meine App, halten diese Meldung auslösenden:

Refused to load the image 'LOREM_IPSUM_URL' because it violates 
the following Content Security Policy directive: "img-src 'self' data:". 

Das ist mein Meta-Tag ist:

<meta http-equiv="Content-Security-Policy" content="default-src *; 
img-src 'self' data:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; 
style-src 'self' 'unsafe-inline' *"> 

Ich verwende html2Canvas innerhalb der App, und wenn ich diese entfernen: „IMG- src 'SELd' Daten:“

Es diesen Fehler ausgelöst:

html2canvas.js:3025 Refused to load the image 'data:image/svg+xml, 
<svg xmlns='http://www.w3.org/2000/svg'></svg>' because it violates 
the following Content Security Policy directive: "default-src *". 
Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback. 

Zusammen mit einer Reihe von anderen Fehlern ...

+1

Ist es richtig funktioniert mit * auf Standard-src? –

+0

@DakshMehta hat es nicht .. ich denke, es war wegen der html2canvas. aber die antwort von manzapanza löst das problem! –

+0

Froh, es hat funktioniert. aber ich habe nicht verstanden, wie es mit https funktioniert hat, wenn Sie Canvas verwenden, Daten hätten funktionieren sollen. –

Antwort

21

versuchen, diesen Teil zu ersetzen:

img-src * 'self' data: https:; 

So ist der komplette tag:

<meta http-equiv="Content-Security-Policy" content="default-src *; 
    img-src * 'self' data: https:; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; 
    style-src 'self' 'unsafe-inline' *"> 

Content Security Policy Reference

+1

Ich habe die Referenz gelesen, aber es konnte nicht funktionieren! Ich schätze wirklich, wirklich !! : D –

+2

aber ist das nicht seinen Zweck zu besiegen img-src * 'Selbst' Daten: https: das ist Sicherheit? – Joset

Verwandte Themen