【问题标题】:content security policy - unsafe inline and unsafe eval not working in moz and chrome内容安全策略 - 不安全的内联和不安全的 eval 在 moz 和 chrome 中不起作用
【发布时间】:2024-04-26 05:30:01
【问题描述】:

我有一个 mvc web 应用程序,我已将内容安全策略配置为

<add name="Content-Security-Policy" value="default-src 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' ;style-src 'self' 'unsafe-inline' ;img-src 'self';font-src 'self'  ; "/>

适用于所有浏览器,包括 IE、CHROME、MOZILLA。

我在 cshtml 页面中使用了大量的内联 jquery/javascript 代码。

但我的安全团队未能确保我的 Web 应用程序的安全性,他们希望我们删除 'unsafe-inline' 'unsafe-eval'

在我删除 unsafe-inline 和 unsafe-eval 应用程序后,只能在 IE 中运行,但不能在 chrome 和 mozilla 中运行。在没有'unsafe-inline''unsafe-eval'的情况下是否有任何解决方法来实现上述目标

【问题讨论】:

    标签: asp.net-mvc security iis


    【解决方案1】:

    您可以尝试使用NWebSec 库在使您的 MVC 应用程序 CSP 兼容的过程中为您提供支持。请参阅文档here

    您可以在NWebSec TagHelpers 的帮助下使您的脚本 CSP 与 nonce 兼容。查看信息here

    here.

    您可以使用 Rehan Saeed 的 ASP.Net MVC Boilerplate Template 来了解 CSP。它已经实现了 NWebSec。

    【讨论】:

      【解决方案2】:

      CSP(截至今天 2018 年 3 月 21 日)不受 IE 的完全支持(更多信息请点击此处https://caniuse.com/#search=csp)。
      显然您的应用程序不符合 CSP,这就是为什么它不能在实现 CSP 的浏览器(如 Chrome 或 Firefox)中运行。

      【讨论】:

        最近更新 更多