尽管正在定义 CSP script-src-elem 错误,但如何修复它?
How to fix CSP script-src-elem Error although it is being defined?
我的哈巴狗的元标记中有类似的内容。我的文件中有大量 2 3 CDN。
meta(http-equiv='Content-Security-Policy' content="default-src * 'unsafe-inline' 'unsafe-eval'; script-src-elem * 'unsafe-inline';" )
尽管我已经定义了 script-src-elem,但我还是收到类似这样的错误。
Refused to load the script '<URL>' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
我将衷心感谢您的帮助。提前致谢
您的浏览器似乎不支持此指令。
您收到的消息在 MDN 上有解释 script-src-elem
If script-src-elem is absent, User Agent falls back to the script-src
directive, and if that is absent as well, to default-src.
顺便说一句:
specifies valid sources for JavaScript elements, but not inline script event handlers like onclick
让我猜猜。您使用与 Express 链接的 PUG。在 Express 中使用 Helmet 安全中间件。
重点是 Helmet 4 默认通过 HTTP header 发布 CSP,并且
script-src 'self'
是此头盔默认 CSP 的片段。
既然你已经发布了一个 CSP,你就不能使用元标记来放松它。如果有 2 个 CSPS 发布,所有来源都应该通过两个 CSP 未被破坏。因此,您来自元标记的 script-src-elem * 'unsafe-inline'
不会触发违规,但来自 CSP HTTP header 的 script src 'self'
- 确实会引发违规。
您必须通过 Helmet 中的 helmet.contentSecurityPolicy(options). Or disable CSP 删除元标记并配置 Helmet 并使用元标记:
app.use(
helmet({
contentSecurityPolicy: false,
})
);
我的哈巴狗的元标记中有类似的内容。我的文件中有大量 2 3 CDN。
meta(http-equiv='Content-Security-Policy' content="default-src * 'unsafe-inline' 'unsafe-eval'; script-src-elem * 'unsafe-inline';" )
尽管我已经定义了 script-src-elem,但我还是收到类似这样的错误。
Refused to load the script '<URL>' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
我将衷心感谢您的帮助。提前致谢
您的浏览器似乎不支持此指令。
您收到的消息在 MDN 上有解释 script-src-elem
If script-src-elem is absent, User Agent falls back to the script-src directive, and if that is absent as well, to default-src.
顺便说一句:
specifies valid sources for JavaScript elements, but not inline script event handlers like onclick
让我猜猜。您使用与 Express 链接的 PUG。在 Express 中使用 Helmet 安全中间件。
重点是 Helmet 4 默认通过 HTTP header 发布 CSP,并且
script-src 'self'
是此头盔默认 CSP 的片段。
既然你已经发布了一个 CSP,你就不能使用元标记来放松它。如果有 2 个 CSPS 发布,所有来源都应该通过两个 CSP 未被破坏。因此,您来自元标记的 script-src-elem * 'unsafe-inline'
不会触发违规,但来自 CSP HTTP header 的 script src 'self'
- 确实会引发违规。
您必须通过 Helmet 中的 helmet.contentSecurityPolicy(options). Or disable CSP 删除元标记并配置 Helmet 并使用元标记:
app.use(
helmet({
contentSecurityPolicy: false,
})
);