首页 > 解决方案 > 内容安全策略和使用 nonce

问题描述

我正在尝试将内容安全策略添加到我的 .Net core 3.1 项目中。我收到以下错误:

在此处输入图像描述

这是我的标题: content-security-policy: default-src 'self' *.fontawesome.com *.gstatic.com ;script-src 'nonce-R4nd0m' 'self' ; style-src 'self' https://use.fontawesome.com/releases/v5.8.2/css/all.css *.googleapis.com/css?family=Nunito ;

我的母版页: < script nonce="R4nd0m" src="~/js/bundles/jquery.js" asp-append-version="true">

我正在尝试将我的 jquery.js 文件列入白名单,但它似乎不起作用。我可以使项目工作的唯一方法是在我不想做的标题中添加“unsafe-eval”。

我使用了 nonce,它似乎适用于页面上的内联脚本,但它仍然对我的 jquery.js 文件出错。我在这里做错了什么?

编辑:

调用堆栈:使用不显眼的 ajax 包的 Ajax 请求,代码如下:

<a href="/Users/Create" data-ajax="true" data-ajax-method="GET" data-ajax-update="#dialog" data-ajax-mode="replace" data-ajax-success="DialogModule.open(&quot;Create user&quot;);"><i class="fa fa-plus icon-spacing"></i>Add User</a>

这是错误区域的图片: 在此处输入图像描述

这是由我假设不显眼的 ajax 库生成的。

标签: javascriptjquerycontent-security-policynonce

解决方案


推荐阅读