首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝为Redocly执行内联脚本

拒绝为Redocly执行内联脚本
EN

Stack Overflow用户
提问于 2020-10-22 08:56:28
回答 1查看 375关注 0票数 0

尝试redoc-cli (https://github.com/Redocly/redoc/)生成静态文档。这些错误没有任何进展。看起来Content-Security-Policy根本不允许JS代码。

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-g6NjhUYDGd6SXSIYkvuQkZhdbtqx8hqNKVM8JKvqpy4='), or a nonce ('nonce-...') is required to enable inline execution.

代码语言:javascript
复制
<meta
    http-equiv="Content-Security-Policy"
    content="
base-uri;
connect-src *;
default-src * 'unsafe-inline' 'unsafe-eval' data: gap: https://ssl.gstatic.com;
font-src * data:;
form-action;
img-src * data:;
manifest-src *;
media-src;
object-src *;
report-to;
script-src * 'unsafe-inline' 'unsafe-eval';
script-src-attr * 'unsafe-inline' 'unsafe-eval';
script-src-elem * 'unsafe-inline' 'unsafe-eval';
style-src * data: 'unsafe-inline';
style-src-attr * data: 'unsafe-inline';
style-src-elem * data: 'unsafe-inline';
">

更新

终于修好了。

服务器应该发送以下标题:

“内容-安全性-策略”= "script-src blob:“内容-安全性-策略”= "worker-src blob:“

而且manifest.json应该有附加的字段:

代码语言:javascript
复制
{
  "content_security_policy": "script-src * 'unsafe-inline' 'unsafe-eval'",
  "csp": "script-src * 'unsafe-inline' 'unsafe-eval'"
}
EN

回答 1

Stack Overflow用户

发布于 2020-10-23 06:21:23

从错误中可以看到,拒绝执行内联脚本,因为它违反了以下内容安全策略指令:" script -src 'self'__",锁发生在script-src 'self'中。但是元标记中的CSP没有这个。

这意味着你真的有另一个CSP发行了。通常,应用程序中间件有一个默认的通过HTTP头发出的CSP,但从技术上讲,您也可以有2个元标记CSP。如果有2个CSP,则采用更严格的方法。

检查2个<meta http-equiv="Content-Security-Policy"的HTML代码,并在开发工具中签入内容-安全策略HTTP头(这里是一个教程)。

上述修正后:

  • 在meta标记中不支持report-to指令,因此可以删除它。
  • 脚本-src/script-src指令中不支持'unsafe-eval'令牌。它是页面的全局标志,仅可用于script-src/default(参见第4段中的备注 )。
  • 在style-src指令中不支持*data:。它控制标记中的style='...'属性,不使用任何方案源。
  • 脚本src-attr指令中不支持*。它控制事件处理程序,如onClick='...'或javascript-导航(如<a href='javascript:...' ),并且除了javascript:之外没有任何方案源。

检查错误列表.但是你可以在上面的CSP中,浏览器只是忽略了那些。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64478737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档