【问题标题】:How to allow .NET auto-generated inline JavaScript to be executed, using Content Security Policy?如何使用内容安全策略允许执行 .NET 自动生成的内联 JavaScript?
【发布时间】:2019-05-08 06:59:14
【问题描述】:

我正在使用 .NET 创建一个网站。现在我已经设置了我的 Content-Security-Policy 并且大部分工作正常,并且我将所有内联 JS 分隔在单个文件中。我面临的问题是 .NET 或 IIS(不确定罪魁祸首),但 Web 服务器会自动生成 JS 代码,如:

<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ctl13', 'ctl01', [], [], [], 90, 'ctl00');
//]]>
</script>

但是其他代码块也很少......

这会引发“拒绝执行”错误。而且我不确定如何解决这个问题。我可以在这个生成的脚本中使用子资源完整性吗?我也不能使用第三方库。 :(

【问题讨论】:

    标签: javascript .net iis content-security-policy


    【解决方案1】:

    经过一番搜索和尝试,我意识到我可以从 Chrome 的 Inspector 中复制 Sha1 + 哈希值,只需在“script-src”中作为值:

    script-src 'self' https: 'sha256-2vr5KadqwtMK7a+bOf/ned/cPnF2yNooMulXA8E65wGw=' 'sha256-uotn9EGEf58Cz/Xefuk7l1rlYusddaEDcJMklItXhgs=' 'sha256-uYoAmCrBFM4tx/Ww+6eFuIJxuwZ3YasdWUTlgnPuE=';
    

    似乎一切都是这样工作的。我现在确实有另一个担心。 当我将构建移动到生产服务器时(我现在无法访问它),这个哈希值仍然可以正常工作吗?

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 2012-01-20
      • 2016-06-28
      • 1970-01-01
      • 2014-10-26
      • 2019-08-10
      • 2023-02-09
      • 2017-06-16
      • 1970-01-01
      相关资源
      最近更新 更多