Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Jquery 3.4.1中启用CSP(内容安全策略);jQueryUI1.12.1?_Javascript_Jquery_Jquery Ui Autocomplete_Content Security Policy - Fatal编程技术网

Javascript 如何在Jquery 3.4.1中启用CSP(内容安全策略);jQueryUI1.12.1?

Javascript 如何在Jquery 3.4.1中启用CSP(内容安全策略);jQueryUI1.12.1?,javascript,jquery,jquery-ui-autocomplete,content-security-policy,Javascript,Jquery,Jquery Ui Autocomplete,Content Security Policy,我目前正在我的网站上使用jQuery 3.4.1和jQuery UI 1.12.1(用于自动完成)。我还使用了unsafe inline和unsafe eval,这是我不想使用的 我的标签: <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' https: cdnjs.cloudflare.com code.highcharts.

我目前正在我的网站上使用jQuery 3.4.1和jQuery UI 1.12.1(用于自动完成)。我还使用了
unsafe inline
unsafe eval
,这是我不想使用的

我的
标签:

<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';"
>
无论何时在jQueryUIAutoComplete中发生AJAX调用,它都会抛出一个错误,表示它违反了CSP策略

使用jQuery在我的网站上正确启用CSP需要做什么?我不想在我的网站上使用
unsafe eval
unsafe inline

控制台错误:

无论何时在jQueryUIAutoComplete中发生AJAX调用,它都会抛出一个 表示它违反CSP策略时出错

  • 告诉我这个CSP错误的文本,我会告诉你怎么做(最好是Chrome控制台)

  • 从jQueryUI1.12.1的CSS可以看出,您需要在策略中包含
    imgsrc数据:

  • 从脚本1.12.1/jquery-ui.js可以看出,它不使用不安全的eval调用。也许你在脚本中会用到这些。从脚本src中删除“unsafe eval”,并检查控制台中引发的错误。 如果没有像
    这样的消息拒绝将字符串作为JavaScript求值,因为不允许使用不安全的eval
    页面设置阻止在eval加载资源
    -您不需要在脚本src中使用“不安全的eval”

  • 最好的做法是忘记不安全的HTTP:而使用HTTPS:。有些情况下,互联网提供商(在互联网的RU部分)会干扰客户端的流量,并将广告注入jquery库。因此:

    • 规则
      connectsrc'self'news.google.com应为
      连接src'self'https://news.google.com;因为news.google.com总是禁用HTTPS:。对news.google.com的所有$ajax请求也应使用https://方案

    • cdn.jsdeliver.net也是如此,它总是重定向到HTTPS: 因此,安全规则应该是:

      脚本src“self”“不安全评估”


    所有的调用脚本都应该使用HTTPS完成:
    非常确定这将归结为服务器配置,您还没有告诉我们。什么服务于您的内容?实际上,我没有在我的Web服务器中配置CSP。我在HTML文件中使用CSP的meta标记。正如你所问,apache正在为我的内容提供服务。然后在这里添加meta标记作为编辑。我已经添加了。请检查一下。我认为问题在于jQuery本身。如果你能解决问题,你能发布你的答案吗