【问题标题】:Refused to get json from Url because Content Security Policy directive 'connect-src'拒绝从 Url 获取 json,因为内容安全策略指令“connect-src”
【发布时间】:2020-02-27 09:19:01
【问题描述】:

我正在尝试在本地 api 上进行 ajax 调用,但它不会让我(相同的服务器、不同的 URL 和使用 Curl 工作正常)

拒绝连接 'http://lambda/ManagedDataWebServices/api/NyMods/ModSearch/OPTIONS%20INFORMATION%20TECHNOLOGY%20LLC?_=1572571626624' 因为它违反了以下内容安全政策指令: “默认-src https:数据:'unsafe-inline''unsafe-eval'”。注意 'connect-src' 没有明确设置,所以 'default-src' 被用作 后备。

这是我正在使用的代码:

      let url = "http://lambda/ManagedDataWebServices/api/NyMods/ModSearch/"+$("#nameorcombo").val();
       tabledom = $('#table').DataTable( {
          "dom": 'lBfrtip',
          "dataType" : "json",
           "crossDomain": "true",
            "ajax": {
                "url": url,
                "dataSrc": function (json) {
                     }
                 });

尝试了不同的元标记但没有成功,我错过了什么吗? (服务器是IIS)

【问题讨论】:

  • http: 或其他内容添加到策略中。 default-src https: data: 'unsafe-inline' 'unsafe-eval' 允许 https://lambda/ManagedDataWebServices/api/NyMods/ModSearch/ (https) 但不允许 http://lambda/ManagedDataWebServices/api/NyMods/ModSearch/ (http)。
  • 试过这个 但没有运气

标签: ajax datatables content-security-policy


【解决方案1】:

尝试专门覆盖“错误”指令:<meta http-equiv="Content-Security-Policy" content="connect-src *">

default-src 是某些指令(例如 connect-src)的后备,因此如果您指定 connect-src,它应该优先于 default-src

顺便说一句,这个default-srcdirective 太松懈了,几乎没用。

【讨论】:

    猜你喜欢
    • 2020-12-30
    • 1970-01-01
    • 2021-05-29
    • 2022-07-27
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    相关资源
    最近更新 更多