You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新建ASP.NET MVC5项目出现Content Security Policy问题求助

问题原因及修复方案

原因分析

这个错误是**Content Security Policy(CSP,内容安全策略)**拦截了内联脚本执行导致的。
默认情况下,MVC5项目模板里包含内联JavaScript代码(比如页面<script>标签中直接编写的代码,而非引用外部脚本文件);而Chrome等现代浏览器会自动应用默认CSP规则,或是项目调试环境、隐性配置触发了CSP限制,当前生效的规则script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules'仅允许加载同域脚本、WebAssembly相关的unsafe-eval操作,以及内联推测规则脚本,普通内联脚本不在允许范围内,因此被拦截。

修复方法

方案1:添加脚本哈希值(推荐,安全性高)

错误提示中已经给出了被拦截内联脚本的哈希值:sha256-dLJqJSO80JC9QgrIRU3rSxbpAb/bYXylIngicy7GOgY=,将其加入CSP的script-src指令即可允许该特定内联脚本执行。
在项目的Web.config中添加自定义HTTP头配置:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Content-Security-Policy" value="script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' 'sha256-dLJqJSO80JC9QgrIRU3rSxbpAb/bYXylIngicy7GOgY=';" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

方案2:临时允许所有内联脚本(仅开发环境测试用,不推荐生产)

如果只是开发阶段临时调试,可以添加'unsafe-inline'到script-src规则中,但生产环境禁用此方法(会大幅降低页面安全性):

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Content-Security-Policy" value="script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' 'unsafe-inline';" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

方案3:移除内联脚本(最规范的长期方案)

找到项目中所有内联脚本(比如布局页、视图里的<script>代码块),将其提取到单独的.js文件中,再通过<script src="脚本路径"></script>引用。这种方式既符合CSP安全规范,也能让代码结构更清晰。

方案4:排查外部干扰因素

部分浏览器安全扩展(如广告拦截器、隐私插件)会强制添加CSP规则,导致本地调试出现问题。可以尝试禁用所有浏览器扩展,或使用隐身模式打开页面;也可以检查VS调试设置,确认是否强制启用了CSP相关安全策略。

内容的提问来源于stack exchange,提问作者chris_dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:49:58