【发布时间】:2020-09-26 18:11:23
【问题描述】:
我目前在我的网站上使用 jQuery 3.4.1 和 jQuery-UI 1.12.1(用于自动完成)。我也在使用我不想使用的unsafe-inline 和unsafe-eval。
我的<meta/>标签:
<meta
http-equiv="Content-Security-Policy"
content="script-src 'self' 'unsafe-eval' https: cdnjs.cloudflare.com code.highcharts.com stackpath.bootstrapcdn.com cdn.jsdelivr.net code.jquery.com 'unsafe-inline'; connect-src 'self' news.google.com; worker-src 'self'; manifest-src 'self';"
>
扩展后,content 是:
script-src
'self'
'unsafe-eval'
https:
cdnjs.cloudflare.com
code.highcharts.com
stackpath.bootstrapcdn.com
cdn.jsdelivr.net
code.jquery.com
'unsafe-inline';
connect-src
'self'
news.google.com;
worker-src
'self';
manifest-src
'self';
每当在 jQuery-UI 自动完成中发生 AJAX 调用时,它都会抛出一个错误,指出它违反了 CSP 政策。
我需要做什么才能使用 jQuery 在我的网站上正确启用 CSP?我不想在我的网站上使用unsafe-eval 和unsafe-inline。
【问题讨论】:
-
很确定这将归结为 server 配置,您还没有告诉我们。什么在为您的内容提供服务?
-
实际上,我的网络服务器中没有配置 CSP。我在我的 HTML 文件中使用 CSP 的元标记。正如你所问的,apache 正在为我的内容提供服务。
-
然后在此处添加元标记作为编辑。
-
我已经添加了。请检查一下。
-
问题是正确的,但还没有人提供有用的答案。谁能告诉如何使用“nonce”属性和示例来使 jquery.js 工作?
标签: javascript jquery jquery-ui-autocomplete content-security-policy