【问题标题】:Refuse to load the script拒绝加载脚本
【发布时间】:2021-08-21 04:40:01
【问题描述】:

当我们在 pug 模板中使用脚本链接时,控制台会出现这种类型的错误, 我们还在元标记中设置 csp 标头以及将 set.header 设置为服务器脚本

拒绝加载脚本“https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js”,因为它违反了以下内容安全策略指令:“脚本-src‘自我’”。请注意,'script-src-elem' 没有显式设置,因此 'script-src' 用作备用。

这是我的哈巴狗代码

block append head
    meta(http-equiv="Content-Security-Policy" content="script-src 'self' api.mapbox.com js.stripe.com 'unsafe-inline'")
    script(src='https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js')
    link(href='https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.css' rel='stylesheet')
    script(src='https://js.stripe.com/terminal/v1/')

【问题讨论】:

  • 您提供的详细程度无法明确回答此问题。您的服务器的 Content-Security-Policy 标头是什么样的?为什么要在标题和元标记中设置它?

标签: node.js express pug content-security-policy


【解决方案1】:

如果您在元标记和响应标头中都设置了 CSP,则任何内容都必须通过这两个策略。修改或删除您的响应标头 CSP。

【讨论】:

  • 看来你是对的。但是topicstarter没有看懂多个CSP操作以及CSP HTTP头从哪里来的答案,因为它还没有检查服务器端的Helmet中间件CSP设置。
猜你喜欢
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
  • 2016-08-12
  • 2017-07-04
  • 1970-01-01
  • 2017-04-04
  • 2018-10-12
相关资源
最近更新 更多