2016-01-18 2 views
6

Ich benutze MVC6 (asp.net 5) mit angular und versuche Skripte von cdn Standorten zu laden wenn mein Code im Release-Modus ausgeführt wird, aber aus irgendeinem Grund laden die Skripte NIE.Weigerte sich, das Skript zu laden, da es die folgende Direktive der Inhaltssicherheitsrichtlinie verletzt: "style-src 'self' 'unsafe-inline'

ich gelesen habe, dass Sie ein Meta-Tag in Ihre hTML-Datei hinzufügen müssen, was ich getan habe, wie so.

<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; style-src 'self' https://ajax.aspnetcdn.com; font-src 'self' http://netdna.bootstrapcdn.com" /> 

Und auf meinem Index.cshtml, ich habe diese bekam.

<environment names="Staging,Production"> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js" 
     asp-fallback-src="~/lib/angular/angular.min.js" 
     asp-fallback-test="window.angular"> 
    </script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.min.js" 
     asp-fallback-src="~/lib/angular-ui-router/release/angular-ui-router.js" 
     asp-fallback-test="window.angular && window.angularUiRouter"> 
    </script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-local-storage/0.2.2/angular-local-storage.min.js" 
     asp-fallback-src="~/lib/angular-local-storage/dist/angular-local-storage.js" 
     asp-fallback-test="window.angular && window.localStorage"> 
    </script> 

Aber sie laden nie. Ich habe versucht, den Code mit IISExpress und den Befehl DNX Web ausführen.

Ich habe this Beitrag, wie ich über die Erstellung des META-Tags komme, aber nicht sicher, warum es nicht funktioniert. Ich habe schon versucht, diese in Chrome und unter Konsole, ich Fehler einfach zu bekommen wie so

enter image description here

+0

Ich habe ein ähnliches Problem hier. Konnten Sie Ihre reparieren? –

+0

das gleiche Problem habe ich bekommen –

Antwort

2

gäbe folgend in dem Web-Seite-Header-Abschnitt:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://cdnjs.cloudflare.com "> 

Mehr Details über Content Security Policy Sie kann here und here lesen.

+0

Nein, das scheitert auch – Gillardo

+0

Bitte lesen Sie die zwei Links, die ich in der Antwort auch gepostet habe - vielleicht in Ihrem Fall sollten Sie nur mehr Website-Adressen am Ende hinzufügen, laden von Javascripts aus Sie. Eigentlich, wie ich auf deinem Screenshot sehen kann, solltest du auf jeden Fall alle externen Websites hinzufügen. – drcolombo

+0

Also, hast du dein Problem gelöst? – drcolombo

0

In meinem Fall wird diese Richtlinie über SecurityHeadersAttribute gesetzt (dieses Attribut wird in AccountController und einigen anderen gesetzt).

Im Grunde fügt dies Standardrichtlinie in headers hinzu, die Ihr meta-Tag überschreibt. Sie müssen diese Richtlinie also ändern oder das Attribut vom Controller entfernen.

Verwandte Themen