Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果声明了散列,Chrome是否应该忽略不安全的内联指令?_Javascript_Google Chrome_Security_Content Security Policy - Fatal编程技术网

Javascript 如果声明了散列,Chrome是否应该忽略不安全的内联指令?

Javascript 如果声明了散列,Chrome是否应该忽略不安全的内联指令?,javascript,google-chrome,security,content-security-policy,Javascript,Google Chrome,Security,Content Security Policy,鉴于以下情况: "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/javas

鉴于以下情况:

"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>
这不会加载我的本地脚本,由于严格的动态,它会忽略白名单,因此MVC通过脚本吐出的任何内容。渲染不会加载

我知道内联脚本并不理想,但现在无法避免。我99%确定某个地方有一篇SO帖子讨论了这一点,其中详细说明了什么是跨浏览器支持的最佳选择(即Chrome忽略了不安全的内联,但为IE提供了它),但我找不到拯救我生命的方法

有什么建议吗


谢谢。

它实际上是一个nonce,如果存在将被使用,而不是散列

可在此处找到更多信息:


不安全内联
意味着可以运行任何内联脚本,而不需要散列。为什么设置它时,可以不使用散列运行内联脚本会让您感到惊讶?“让我们逐一分析。最好的情况是用户拥有支持严格动态的浏览器。在这种情况下,适用以下规则:使用nonce意味着浏览器将忽略不安全的内联脚本,因此内联脚本将被阻止”但是在内联脚本运行的情况下,这不适用,因为您当时没有使用严格的动态。您为什么这么认为?哪里有文件证明它可以在任何地方工作?@JosephSible-如果设置了nonce,而不是hash,现代浏览器似乎会忽略不安全的内联。我记得它是一个散列值,因此混淆了。
"Content-Security-Policy" value="
             default-src 'self'
             script-src 'self' 'unsafe-inline' 'strict-dynamic' *.myhost.com http: https:;

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