首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果声明了散列,Chrome是否应该忽略unsafe-inline指令?

如果声明了散列,Chrome是否应该忽略unsafe-inline指令?
EN

Stack Overflow用户
提问于 2019-09-17 00:04:18
回答 1查看 549关注 0票数 0

假设有以下情况:

代码语言:javascript
复制
"Content-Security-Policy" value="
     default-src 'none'; 
     script-src 'unsafe-eval' 'unsafe-inline' 'self' *.myhost.com 'sha256-myHash';

<script type="text/javascript" src="myScript.js"></script>
<script type="text/javascript" integrity='sha-256-myHash'>
     //some stuff
</script>

我希望底部脚本不会加载,除非提供了散列。我的印象是Chrome会忽略不安全的内联,并寻找散列。不安全-内联只是IE的后备。

我尝试过的另一种方法是:

(正如here所讨论的)

代码语言:javascript
复制
"Content-Security-Policy" value="
             default-src 'self'
             script-src 'self' 'unsafe-inline' 'strict-dynamic' *.myhost.com http: https:;

@Scripts.Render("~/bundles/myScripts");

这永远不会加载我的本地脚本,由于严格动态,它忽略了白名单,因此MVC通过Scripts.Render输出的任何东西都不会加载。

我知道内联脚本并不理想,但它现在是无法避免的。我有99%的把握,有一篇文章讨论了这个问题,其中详细介绍了什么是最适合跨浏览器支持的(例如,Chrome忽略了不安全的内联,但它存在于IE中),但我找不到拯救我生命的东西。

有什么建议吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-17 22:05:50

它实际上是一个现时值,如果存在,将使用它,而不是散列。

可以在此处找到更多信息:

https://csp.withgoogle.com/docs/strict-csp.html

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

https://stackoverflow.com/questions/57960633

复制
相关文章

相似问题

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