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

母版页添加CSP等安全头后securityheaders.com未识别求助

安全头无法被检测工具识别的原因及解决办法

核心问题

你通过HTML的<meta>标签声明安全头,但securityheaders这类工具只会识别通过HTTP响应头发送的安全头,不会解析HTML中的meta标签配置。

分安全头逐一说明问题

  1. Content-Security-Policy(CSP)
    虽然meta标签可以声明CSP,但存在功能限制(无法使用frame-ancestors、report-uri等指令),且检测工具优先识别HTTP响应头版本,甚至会忽略meta标签的配置。

  2. Referrer-Policy
    你使用的<meta name="referrer" content="origin">语法是有效的,但工具同样优先检测HTTP响应头中的Referrer-Policy字段,服务器未返回该响应头时,工具不会识别meta标签的设置。

  3. Permissions-Policy(原Feature-Policy)
    Feature-Policy已被Permissions-Policy取代,且meta标签的声明方式本身不被检测工具识别。另外你写的meta标签包含多余的src和allow属性,属于语法错误,即便修正语法,工具也不会识别meta版本的配置。

解决步骤

放弃使用meta标签声明安全头,改为在服务器端配置HTTP响应头:

  • Nginx配置示例:
    # 添加到server或location块中
    add_header Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self'; child-src 'none';" always;
    add_header Referrer-Policy "origin" always;
    add_header Permissions-Policy "geolocation=(src), ch-viewport-width=*" always;
    
  • Apache配置示例:
    # 添加到.htaccess或服务器配置文件中
    Header always set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self'; child-src 'none';"
    Header always set Referrer-Policy "origin"
    Header always set Permissions-Policy "geolocation=(src), ch-viewport-width=*"
    

配置完成后重启服务器,再进行检测即可识别到这些安全头。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 08:35:28