Modernizr führt zu Fehlern bei der Verletzung der Inhaltssicherheitsrichtlinie (Content Security Policy, CSP)

Ich versuche das neue @ zu benutzContent Security Policy (CSP) HTTP-Header auf einer Testsite. Wenn ich CSP in Verbindung mit Modernizr verwende, erhalte ich Fehler bei CSP-Verstößen. Dies ist die CSP-Richtlinie, die ich verwende:

Content-Security-Policy: default-src 'self'; script-src 'self' ajax.googleapis.com ajax.aspnetcdn.com; style-src 'self'; img-src 'self'; font-src 'self'; report-uri /WebResource.axd?cspReport=tru

Dies sind die Fehler von der Chrome-Browserkonsole:

Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self'". 
Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.

window.Modernizr.injectElementWithStyles   - modernizr-2.7.2.js:134
window.Modernizr.tests.touch               - modernizr-2.7.2.js:457(anonymous function)
modernizr-2.7.2.js:949(anonymous function) - modernizr-2.7.2.js:1406

Ich entdeckte dasFolgende Problemumgehung auf der Website von Github Modernizr. Die Problemumgehung wurde jedoch zum ersten Mal im März vorgestellt, und wenn ich ein wenig Google-Fu mache, kann ich keine Korrekturen oder Problemumgehungen für dieses Problem finden.

Ich weiß, dass ich das @ einschließen ka unsafe-inline -Direktive, die diesen Fehler umgehen kann, aber auch die Ausführung von unsicherem Code ermöglicht und die Verwendung von CSP an erster Stelle negiert. Hat jemand irgendwelche Lösungen?

Update - Was ist CSP

CSP ist ein HTTP-Header, der von allen gängigen Browsern unterstützt wird Einschließlich Edge). Im Wesentlichen handelt es sich um eine weiße Liste von Inhalten, die der Browser zum Rendern der Seite verwenden darf. Finde mehr herausHie oder lesen Sie Mozillas Dokumentation für CSPHie undHie.

Update - Markieren Sie CSP

CSP ist jetzt verfügbar aufalle Browser (Edge hat Unterstützung hinzugefügt, yay!) Und es ist ein gigantischer Fortschritt in der Websicherheit. Weitere Informationen zu Drittanbieter-Support für CSP finden Sie hier:

Modernizr Unterstützung für CSPVisual Studio-Unterstützung für CSP. Beachten Sie, dass der Browser-Link nicht funktioniert, wenn Sie CSP aktiviert haben, da Inline-JavaScript verwendet wird. Visual Studio Web Essentials-Erweiterungsunterstützung für CSP. Web Essentials ist ein Visual Studio-Add-In, dessen Funktionen häufig in der nächsten Version von Visual Studio enthalten sind.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage