当我的代码在发布模式下运行时,我正在使用使用angular的MVC6 (asp.net 5),并试图从CDN位置加载脚本,但由于某些原因,脚本从未加载。
我读到过,您需要向HTML文件添加一个meta标记,我已经这样做了。
<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" />在我的Index.cshtml上,我得到了这个。
<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>但它们从来不会加载。我已经尝试使用IISExpress和DNX Web命令来运行代码。
我有一篇this文章,这就是我如何创建元标签的,但我不确定为什么它不起作用。我在Chrome上试过了,在控制台下,我得到的错误是这样的

发布于 2016-01-18 19:01:00
将以下内容放入网页页眉部分:
<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 ">有关内容安全策略的更多详细信息,请阅读here和here。
发布于 2017-06-13 16:43:59
在我的示例中,此策略是通过SecurityHeadersAttribute设置的(此属性在AccountController和其他一些文件中设置)。
基本上,这会在覆盖meta标记的headers中添加默认策略。因此,您需要更改此策略或从Controller中删除该属性。
发布于 2018-05-10 23:06:38
如果要解决此问题,请在application.conf文件中添加以下内容。
play.filters.disabled += "play.filters.headers.SecurityHeadersFilter"https://stackoverflow.com/questions/34852682
复制相似问题