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; includeSubDomains054. 内容安全策略(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: DENY076. X-Content-Type-Options
告诉浏览器信任声明的文件类型,不要自行猜测。只需一行,没有任何缺点。
X-Content-Type-Options: nosniff087. Referrer-Policy
控制访客点击指向其他网站的链接时,会分享您页面地址的多少内容。
Referrer-Policy: strict-origin-when-cross-origin098. 不泄露技术信息
像 Server: nginx/1.18.0 或 X-Powered-By: PHP/7.4 这样的响应头会告诉攻击者该查找哪些版本。在平台允许的情况下删除或隐藏它们。
109. 安全的 Cookie
保存登录会话的 Cookie 应带有 Secure(仅 HTTPS)、HttpOnly(脚本无法读取)和 SameSite(限制跨站发送)。
Set-Cookie: session=...; Secure; HttpOnly; SameSite=Lax11在哪里设置
在 Cloudflare Workers 静态资源中,把一个普通的 _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,再强制执行。
想让我们也看看您的网站吗?给我们留言,我们很乐意帮忙。
联系我们