RPT-002等级 2 · 进阶网站安全阅读约 6 分钟

网站安全响应头:今天就能修复的 9 点清单

浏览器会遵循每个网站在页面本身之前发送的指令。安全响应头就是这些指令,而大多数网站一条都没有发送。

Iron Cyber Tech 团队

01为什么响应头很重要

安全响应头告诉访客的浏览器拒绝有风险的行为:把您的页面加载进别人的框架、猜测文件类型、把您的完整地址发给其他网站,或运行来源不明的脚本。它们不花钱,不增加页面体积,却能阻挡整类攻击。

021. 使用有效证书的 HTTPS

一切从这里开始。整个网站都应通过 HTTPS 加载,且证书有效、未过期。Let's Encrypt 或您的 CDN 提供的免费证书就足够了。

032. HTTP 跳转到 HTTPS

如果有人输入普通的 http:// 地址,服务器应以永久重定向指向 https:// 版本。

043. HSTS:记住要使用 HTTPS

Strict-Transport-Security 响应头告诉浏览器在很长一段时间内对您的域名使用 HTTPS,即使访客输入的是 http。

响应头
Strict-Transport-Security: max-age=31536000; includeSubDomains

054. 内容安全策略(CSP)

CSP 列出脚本、样式和图片允许从哪里加载。它是抵御跨站脚本(XSS)最强的防线,也是最难配置正确的响应头。

响应头(起点)
Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'

065. 点击劫持防护

阻止其他网站把您的页面嵌入隐藏框架。现代做法是在 CSP 中使用 frame-ancestors,而 X-Frame-Options 用于兼容旧浏览器。

响应头
X-Frame-Options: DENY

076. X-Content-Type-Options

告诉浏览器信任声明的文件类型,不要自行猜测。只需一行,没有任何缺点。

响应头
X-Content-Type-Options: nosniff

087. Referrer-Policy

控制访客点击指向其他网站的链接时,会分享您页面地址的多少内容。

响应头
Referrer-Policy: strict-origin-when-cross-origin

098. 不泄露技术信息

像 Server: nginx/1.18.0 或 X-Powered-By: PHP/7.4 这样的响应头会告诉攻击者该查找哪些版本。在平台允许的情况下删除或隐藏它们。

109. 安全的 Cookie

保存登录会话的 Cookie 应带有 Secure(仅 HTTPS)、HttpOnly(脚本无法读取)和 SameSite(限制跨站发送)。

响应头
Set-Cookie: session=...; Secure; HttpOnly; SameSite=Lax

11在哪里设置

在 Cloudflare Workers 静态资源中,把一个普通的 _headers 文件放在站点文件旁边:

_headers
/*
  Strict-Transport-Security: max-age=31536000; includeSubDomains
  X-Content-Type-Options: nosniff
  X-Frame-Options: DENY
  Referrer-Policy: strict-origin-when-cross-origin

其他主机有各自的位置:nginx 用 add_header,Apache 用 Header set,或使用您的主机控制面板。

12测试您的网站

输入您的地址并确认您有权检查它。系统会像任何浏览器一样发送一次正常请求,不会保存任何内容。

实时模块

网站安全检测

HTTPS 以及每个网站都应发送的安全响应头。

被动检测:我们像任何浏览器一样向您的网站发送一次普通请求,不会保存地址或检测结果。

要点

  • 先从 HTTPS、跳转和 HSTS 开始,它们安全又快速。
  • 接着添加 nosniff、referrer 策略和框架保护。
  • 循序渐进引入 CSP:先用 Report-Only,再强制执行。

想让我们也看看您的网站吗?给我们留言,我们很乐意帮忙。

联系我们

更多信号

← 全部信号