网站安全

什么是网站安全响应头?以及如何通过 Cloudflare 配置安全响应头?

Danny · 2026年8月19日 · 7 分钟阅读 · 更新于 2026年8月31日

安全响应头是服务器返回给浏览器的一组 HTTP Header,能在不改代码的情况下限制页面加载、防点击劫持和 MIME 嗅探。本文逐个讲清 HSTS、CSP 等六个常用响应头的作用和推荐配置,再给出在 Cloudflare 开启托管安全头、添加自定义规则的完整步骤,最后用 SecurityHeaders.com 验证效果。

网站安全优化里,HTTPS、WAF、防火墙、漏洞扫描这些措施大家都会关注,但有一层经常被忽略:HTTP Security Headers,也就是安全响应头。

安全响应头是服务器返回给浏览器的一组 HTTP Header,用来告诉浏览器网站内容应该怎么加载、哪些行为要被限制、哪些浏览器功能不应该开启,从而避免一些常见的 Web 攻击。它不需要修改网站代码,也不会改变页面内容,通常只在服务器或者 CDN 层配置一次就全站生效。

对于 WordPress、WooCommerce、企业官网这类网站,通过 Cloudflare 配置安全响应头是一种简单、安全且全站生效的方式。这篇文章先讲清楚安全响应头是什么、每个常用头的作用,再给出在 Cloudflare 里配置的完整步骤。

安全响应头是什么

用户访问网站时,浏览器和服务器之间会做 HTTP 通信。比如访问 example.com,服务器会返回这样一段响应:

HTTP/2 200 OK
Content-Type: text/html
Content-Security-Policy: ...
X-Frame-Options: ...

响应里这些额外的信息就是 HTTP Headers。安全响应头是其中专门用来提升浏览器安全策略的一类 Header。它们的作用不是阻止所有攻击,而是让浏览器在加载网站时遵守更严格的安全规则。

六个常用的安全响应头

下面逐个介绍最常用的六个安全响应头,每个都给出推荐配置。配置值是直接可复制的,在 Cloudflare 的规则里按原样粘贴即可。

Strict-Transport-Security(HSTS)

强制浏览器始终用 HTTPS 访问网站。用户输入 http://example.com 时,浏览器会自动换成 https://example.com,避免 HTTP 降级攻击(SSL Stripping)。

Strict-Transport-Security: max-age=31536000; includeSubDomains

max-age=31536000 表示一年内有效,includeSubDomains 表示同时作用于所有子域名。

X-Frame-Options

防止网站被嵌入恶意 iframe。攻击者可以伪造一个 fake-login.com 的假页面,在页面上隐藏加载你的网站,诱导用户点击,这就是 Clickjacking(点击劫持)。

X-Frame-Options: SAMEORIGIN

SAMEORIGIN 表示只有同源网站可以 iframe 加载该页面。

X-Content-Type-Options

防止浏览器猜测 MIME 类型。攻击者可能上传一个伪装成图片的恶意文件,如果浏览器自作主张判断文件类型,就可能触发安全风险。

X-Content-Type-Options: nosniff

nosniff 告诉浏览器严格按照服务器声明的 Content-Type 处理文件。

Referrer-Policy

控制用户跳转到其他网站时,浏览器发送多少来源信息。比如用户从 example.com/products/product-a 点击外部链接,旧规则可能把完整 URL 发出去,strict-origin-when-cross-origin 可以限制跨域访问时只发送网站来源,不暴露完整路径。

Referrer-Policy: strict-origin-when-cross-origin

Content-Security-Policy(CSP)

Content-Security-Policy 是安全响应头里最重要、也是最复杂的一项。它控制哪些脚本可以执行、哪些图片可以加载、哪些第三方资源可以访问。比如 default-src ‘self’ 表示默认只允许加载自己网站的资源。

但对 WordPress 网站来说,尤其是用了 Elementor、WooCommerce、Google Tag Manager、Google Analytics、WPML、reCAPTCHA 这些插件的网站,严格 CSP 必须经过测试,否则页面资源可能加载不出来。所以很多企业站会先保持 upgrade-insecure-requests,只做把 HTTP 资源自动升级到 HTTPS 这一件事。

Content-Security-Policy: upgrade-insecure-requests

Permissions-Policy

控制浏览器功能权限,比如摄像头、麦克风、地理位置。普通企业网站一般用不到这些功能,直接禁掉。

Permissions-Policy: camera=(), microphone=(), geolocation=()

为什么推荐在 Cloudflare 配置

如果网站的结构是用户、Cloudflare CDN、服务器、WordPress 这样的链路,Cloudflare 正好挡在用户和服务器之间。在中间层加响应头,请求到达浏览器之前就会自动补上,源站什么都不用动。

在 Cloudflare 配置安全响应头有几个实际好处:

  • 不用修改 WordPress 文件,也不用改 Nginx 或 Apache 配置。
  • 全站统一生效,不用每个子域名单独处理。
  • 后续迁移服务器,配置跟着域名走,不会丢。

不管你的网站是跑在 Hostinger 共享主机还是 VPS 上,安全响应头都可以在 Cloudflare 这一层统一配好,这是对企业站最省事的做法。

第一步:开启 Cloudflare 托管安全头

进入 Cloudflare Dashboard,选择目标域名(比如 example.com),然后进入 Rules 下的 Settings,找到 HTTP Response Headers 区域。

先开启 Remove X-Powered-By Headers 选项。它会把服务器暴露的信息删掉,比如 X-Powered-By: PHP/8.1,避免网站的技术环境被直接看穿。

再开启 Add Security Headers。Cloudflare 会自动添加常用安全响应头,包括 Content-Security-Policy、X-Frame-Options、X-Content-Type-Options、Referrer-Policy,开启后保存。

配置的前提是域名已经托管在 Cloudflare,DNS 托管到 Cloudflare 的好处之前专门写过一篇,为什么资深开发者更倾向于把域名 DNS 托管到 Cloudflare

第二步:添加自定义响应头规则

回到 Rules 下的 Overview,点击右上方的 Create rule,在下拉菜单中找到 Modify Cloudflare Configurations and Behaviors-Response Header Transform Rule,新建响应头变换规则。

这一步最容易踩坑:不要选成 Request Header Transform Rules,两者方向完全不同。

维度Request Header Transform RulesResponse Header Transform Rules
作用方向用户 → Cloudflare → 源站源站 → Cloudflare → 用户浏览器
修改对象发给服务器的请求返回给浏览器的响应
典型用途自定义请求头、修改 Host添加安全响应头
HSTS、CSP 放这里?错误正确

安全响应头必须放在 Response 方向。给规则起一个名字,比如 Security Headers,方便以后辨认;匹配条件选 All incoming requests,表示全站生效,然后选择 Set Static,添加两个自定义头:

Header name: Strict-Transport-Security
Value: max-age=31536000; includeSubDomains

以及:

Header name: Permissions-Policy
Value: camera=(), microphone=(), geolocation=()

HSTS 和 Permissions-Policy 不在 Cloudflare 托管安全头的自动列表里,所以用自定义规则补上,保存规则即可。

第三步:用 SecurityHeaders.com 检查

配置完成后,打开 securityheaders.com,输入网站地址进行检测。

检查以下项目是否全部显示绿色:

  • Permissions-Policy
  • Content-Security-Policy
  • Strict-Transport-Security
  • Referrer-Policy
  • X-Content-Type-Options
  • X-Frame-Options

这六项全部通过,说明网站的基础安全响应头配置已经完成。

注意事项

不要把安全响应头加到 Request Header 里。这是 Cloudflare 配置里最容易犯的错误。HSTS、CSP、Permissions-Policy 都是给浏览器看的,不是给服务器看的,放错方向等于没配。

CSP 不建议直接上严格规则。WordPress 网站依赖大量第三方资源,直接 default-src ‘self’ 可能导致页面样式异常、Elementor 编辑器不可用、Google Analytics 停止工作。建议先用 upgrade-insecure-requests,再逐步收紧并测试。

总结

安全响应头是网站安全体系里成本最低、收益较高的一项优化。完整流程可以概括成三步:

配置安全响应头的完整流程

01

开启托管安全头

删除 X-Powered-By,自动加常用头。

02

自定义响应头规则

在 Response 方向补 HSTS 等。

03

检查验证

SecurityHeaders.com 六项全绿。

先进入 Cloudflare Dashboard 的 Rules 下 Settings,开启 Remove X-Powered-By 和 Add Security Headers;再到 Rules 下 Overview 的 Response Header Transform Rules 里补充 HSTS 和 Permissions-Policy;最后用 SecurityHeaders.com 检查六项是否全绿。整个过程不用修改 WordPress 代码,不影响 SEO、Schema、缓存和网站功能,是企业站上线后值得做的第一项基础安全加固。

安全加固做完之后,网站速度优化也值得一起做,可以参考提升 WordPress 网站速度的 15 个技巧

更多类似指南,
每周四送达。

主机评测、建站对比、性能优化技巧和插件推荐 — 每周为 WordPress 站长和建站者精选。