【问题标题】:Content Security Policy directive: "script-src 'none' Violation Error内容安全策略指令:“script-src 'none' 违规错误
【发布时间】:2017-11-10 09:20:28
【问题描述】:

我刚刚安装了 MAMP 并在 htdocs 文件夹中创建了 2 个文件:

  • index.html

    <!doctype html>
    <html>
        <body>Test Page</body>
        <script src="script.js"></script>
    </html>
    
  • script.js

    console.log("works");
    

MAMP 配置为以下端口:

  • Apache 端口:8888
  • Nginx 端口:7888
  • MySQL 端口:8889

打开localhost:8888 在控制台中出现以下错误:

拒绝加载脚本“http://localhost:8888/script.js”,因为它违反了以下内容安全策略指令:“script-src 'none'”。

我以前从未遇到过 CSP,所以这让我感到困惑。是什么导致了这个问题?

【问题讨论】:

    标签: javascript html apache mamp content-security-policy


    【解决方案1】:

    原来这个问题的原因是浏览器ScriptSafe 扩展被打开了。禁用它解决了问题

    【讨论】:

    • 花了几个小时试图解决我遇到同样问题的原因。尝试了各种 CSP 标头组合,但似乎没有任何效果。偶然发现了这个答案——毕竟这段时间确实是 ScriptSafe 导致了错误。我禁用了它(并且还使用允许/信任/临时进行了测试 - 这也有效),并设法让 CSP 工作。通过添加/删除各种 CSP 设置进行进一步测试,以确保它确实有效。我知道越来越多的开发人员正在使用脚本拦截器,因为我们知道脚本很容易构成风险。谢谢@feetnappy!
    • 与 NoScript 相同。
    • 我禁用了 Javascript
    • 到目前为止,我遇到过这个问题 4 次。我总是以这个问题和这个答案告终
    • 在我的例子中,它是 Chrome 的“禁用 Javascript”扩展
    【解决方案2】:

    我之前在浏览器中关闭了 javascript,却忘记重新打开它。这很愚蠢,但我在这里回复,所以像我这样的人可以检查它!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-24
      • 2018-08-14
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2018-12-25
      • 2021-04-15
      相关资源
      最近更新 更多