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

.htaccess配置Content Security Policy(CSP)未生效求助

排查Content Security Policy(CSP)配置冲突的方法
  • 检查服务器全局配置
    如果你用Apache,去主配置文件(比如httpd.conf、apache2.conf)或者站点专属的.conf文件(比如sites-available目录下的配置)里找找有没有Header add Content-Security-Policy或Header set Content-Security-Policy的规则——全局配置优先级比.htaccess高,会覆盖你本地的设置。要是用Nginx,就检查nginx.conf或站点配置里的add_header Content-Security-Policy指令。

  • 查看应用程序层面的硬编码配置
    不少框架(比如WordPress、Django、Laravel)或者插件会直接通过代码输出CSP响应头,比如PHP里的header()函数、Python的response.headers,甚至主题文件里也可能藏着。去看看你的应用代码、插件设置,有没有硬写的CSP规则。

  • 确认当前生效的CSP规则
    打开浏览器开发者工具(F12)切到“网络”面板,刷新页面后看请求的响应头,找到Content-Security-Policy或者Content-Security-Policy-Report-Only头,看看具体规则是什么——这能直接帮你定位到底哪条配置在生效。如果看到多个CSP头,说明存在多份配置,浏览器会执行最严格的那套规则。

  • 排查CDN或安全工具的自动注入
    要是用了Cloudflare这类CDN,它们的安全模块可能自动添加CSP,去CDN的安全设置里看看有没有开启相关选项。另外服务器上的ModSecurity这类安全软件,也可能强制注入CSP规则,得检查这类工具的配置。

  • 优化你的.htaccess配置
    你现在用的是Header add,如果已经有其他CSP配置,会导致多个头共存,建议改成Header set来覆盖已有规则:

    <IfModule mod_headers.c>
        Header set Content-Security-Policy "script-src-elem 'self' 'unsafe-inline' data: https://apis.google.com https://calendar.google.com https://www.google.com/recaptcha https://www.gstatic.com/recaptcha;"
    </IfModule>
    

    另外别写具体的recaptcha版本文件路径(比如I0bG74fWAenNf3Z5ncHSz-bd/recaptcha__en.js),谷歌会更新版本,用域名前缀更稳妥,避免后续版本更新又出问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 17:38:20