Skip to main content
CheckTown
生成工具

HTTP 安全响应头:保护你的网站

发布于 阅读约 6 分钟
本文目录

什么是 HTTP 安全标头?

HTTP 安全标头是一类响应标头,用于指示浏览器在处理你网站的内容时应如何行事。它们构成了纵深防御中的关键一层,通过在浏览器层面强制执行安全策略,抵御跨站脚本(XSS)、点击劫持和协议降级等常见的 Web 攻击。

安全标头是服务器所发送 HTTP 响应的一部分。实施它们不需要任何成本,无需改动代码,并且能保护所有访客,无论其浏览器版本如何。OWASP 等主流安全标准都建议在每一个生产环境网站上部署这些标头。

HTTP 安全标头的工作原理

每个安全标头都控制着浏览器行为的某个特定方面,从而针对不同的攻击途径构建起多层防护。

  • Content-Security-Policy(CSP,内容安全策略)——定义脚本、样式、图片及其他资源的可信来源,通过阻止未经授权的代码执行来防范 XSS
  • Strict-Transport-Security(HSTS,HTTP 严格传输安全)——强制浏览器对你域名的所有后续请求都使用 HTTPS,防止协议降级攻击和 Cookie 劫持
  • X-Frame-Options 和 X-Content-Type-Options——通过阻止你的页面被嵌入 iframe 来防范点击劫持,并阻止 MIME 类型嗅探攻击

免费试用 —— 无需注册

生成安全标头 →

何时应配置安全标头

每一个生产环境网站都应配置安全标头。在以下场景中它们尤为重要。

  • 防范 XSS 攻击——Content-Security-Policy 是浏览器层面抵御跨站脚本漏洞最有效的防线
  • 强制 HTTPS——搭配 preload 的 HSTS 能确保用户始终通过 HTTPS 连接,即便是首次访问也能借助 preload 列表实现
  • 合规要求——PCI DSS、SOC 2 和 HIPAA 等标准都将安全标头列为 Web 应用加固的组成部分

常见问题

什么是 CSP 的仅报告模式?

Content-Security-Policy-Report-Only 会将违规报告发送到指定端点,但不会真正拦截资源。这让你能在生产环境中测试新的 CSP 策略而不至于破坏网站。一旦报告显示没有正常资源被拦截,就可以改用 Content-Security-Policy 标头切换到强制执行模式。

HSTS preload 是如何工作的?

HSTS preload 是由浏览器厂商维护的一份列表,它为列表中的域名硬编码了仅限 HTTPS 的访问方式。一旦你的域名进入 preload 列表,浏览器就绝不会向它发起 HTTP 请求,哪怕是第一次访问也是如此。要符合条件,你必须提供一个有效的 HSTS 标头,其 max-age 至少为一年,并包含 includeSubDomains 和 preload 指令。

我如何测试我的安全标头?

使用 securityheaders.com 或 Mozilla Observatory 等在线工具扫描你的网站并获得评级。这些工具会检查所有主要的安全标头,并针对缺失或配置错误的标头给出具体建议。你也可以在浏览器开发者工具的“网络”标签下,通过查看响应标头来直接检查这些标头。

相关工具