Content-Security-Policy - 'strict-dynamic' 和 eval 关键字
Content-Security-Policy - 'strict-dynamic' and the eval keyword
CSP Strict Dynamic 编辑:link 提供了一些不正确的信息。请参阅下面的答案。
从上面link看来,strict-dynamic 似乎允许加载的脚本创建额外的脚本,eval 关键字也是如此吗?
换句话说,将 strict-dynamic 与 nonce 结合使用是否允许加载托管在内部 CDN 上的第三方依赖项,然后能够使用 eval 关键字从字符串生成 javascript?
From this Whosebug question here,我知道不能结合使用 unsafe-eval 等来获得所需的粒度。
有没有办法在 2021 年允许对非常具体的用例进行评估,或者如果我无法重构代码以删除对评估的使用,是否需要不安全评估?
From the above link, it sounds like strict-dynamic allows loaded scripts to create additional scripts, does the same hold true for the eval keyword?
Link 您所引用的信息不真实。 'strict-dynamic'
不会导致忽略 'unsafe-eval'
,而且页面包含其他误导性信息。
'unsafe-eval'
充当 global page flag(见第 4 段注释)。因此它覆盖了整个页面,而不是指定的脚本。
Is there a way to allow eval for very specific use cases in 2021?
是的,有一个“非常具体的用例”- 在 Firefox 浏览器中,您可以允许 'unsafe-eval'
工作人员,但不允许页面上的脚本。
CSP Strict Dynamic 编辑:link 提供了一些不正确的信息。请参阅下面的答案。
从上面link看来,strict-dynamic 似乎允许加载的脚本创建额外的脚本,eval 关键字也是如此吗? 换句话说,将 strict-dynamic 与 nonce 结合使用是否允许加载托管在内部 CDN 上的第三方依赖项,然后能够使用 eval 关键字从字符串生成 javascript?
From this Whosebug question here,我知道不能结合使用 unsafe-eval 等来获得所需的粒度。
有没有办法在 2021 年允许对非常具体的用例进行评估,或者如果我无法重构代码以删除对评估的使用,是否需要不安全评估?
From the above link, it sounds like strict-dynamic allows loaded scripts to create additional scripts, does the same hold true for the eval keyword?
Link 您所引用的信息不真实。 'strict-dynamic'
不会导致忽略 'unsafe-eval'
,而且页面包含其他误导性信息。
'unsafe-eval'
充当 global page flag(见第 4 段注释)。因此它覆盖了整个页面,而不是指定的脚本。
Is there a way to allow eval for very specific use cases in 2021?
是的,有一个“非常具体的用例”- 在 Firefox 浏览器中,您可以允许 'unsafe-eval'
工作人员,但不允许页面上的脚本。