首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内容安全策略(CSP)隔离是否可能?

内容安全策略(CSP)隔离是否可能?
EN

Stack Overflow用户
提问于 2021-10-01 17:51:29
回答 1查看 285关注 0票数 0

这是一个问题/问题,我提供了一个来自我们业务领域的JavaScript (例如Www.mysite.com/js/emeics.js),它包含在20多个不同的web应用程序中,并包含在它们的文档中。这是用于分析追踪。我假设需要通过使用脚本-src元标记更新DOM来设置CSP,该标记只适用于我的代码和它调用的外部JavaScripts (来自Akamai assets.adobedtm.com),而不是整个web应用程序。我的CSP元标记是否可以应用到web应用程序加载的任何外部脚本,并且我必须知道每个外部JavaScript --所有的web应用程序都加载了?有办法做到这一点吗?有什么想法吗?这是我第一次做CSP所以也许我没有正确理解它..。所以温柔点!

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-01 21:05:56

是的,您的CSP标记将应用于web应用程序加载的任何外部脚本,并且在共同的情况下,您必须了解每个外部JavaScript所有的web应用程序负载。

但是,如果您加载的所有脚本都来自assets.adobedtm.com,则只需将此源添加到script-src指令中:

代码语言:javascript
复制
 script-src assets.adobedtm.com

它的所有外部脚本都将被允许。

另外,CSP提供了一种实现您想做的事情的可能性-- 'strict-dinamic'令牌与'nonce-value''hash-value'配对。但是Safari仍然没有实现这个功能(它支持Chrome、Edge和Firefox)。如果您的CSP与'nonce-value'类似:

代码语言:javascript
复制
 script-src 'nonce-SomeSecureValue' 'strict-dinamic';

超过:

代码语言:javascript
复制
 <script src='https://domain/script.js' nonce='SomeSecureValue'>

将允许加载,并且它插入的任何子脚本也将被允许。

'hash-value'在CSP中的应用

代码语言:javascript
复制
 script-src 'sha256-HashOfScriptAllowed' 'sha256-HashOfScript2Allowed' 'strict-dinamic';

超过:

代码语言:javascript
复制
 <script src='https://domain/script.js' integrity='sha256-HashOfScriptAllowed'>

将允许加载,并且它插入的任何子脚本也将被允许。但是Firefox有一个bug,它只支持内联脚本,而不支持外部脚本。

或者,您可以使用内联<script nonce='SomeSecureValue'> dynamically create script tags and load external scripts</script>,并允许它通过noncehash。它的所有子脚本都将被允许。

可以使用'strict-dynamic'绕过Safari的谷歌严格的CSP错误。

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

https://stackoverflow.com/questions/69410129

复制
相关文章

相似问题

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