Squish/toolsSquish →

Squish & Co. — 诊断部

安全响应头检测

检测关键的六项 HTTP 安全响应头,并根据每一项是否真正发挥作用来评分,而不只是看它有没有被发送。Squish 免费提供的工具,无需注册。

试试: , , 无需注册

结果会显示在这里。输入域名即可开始。

安全响应头到底起什么作用

安全响应头是服务器随每个页面一起发送的指令,告诉浏览器可以允许什么。HSTS 拒绝明文 HTTP。Content-Security-Policy 限制脚本可以从哪里加载。X-Frame-Options 阻止你的页面被装进别人不可见的框架里。它们的设置成本为零,却能整类整类地封堵攻击——但前提是取值带有真正的限制,所以这里评的是每一项响应头做了什么,而不是它有没有被发送。

常见问题

你们检测哪些响应头?

六项,按重要程度加权:HSTS 与 Content-Security-Policy 各 25 分,X-Frame-Options 与 X-Content-Type-Options 各 15 分,Referrer-Policy 与 Permissions-Policy 各 10 分。合计 100 分,等级随分数而定。

我已经设置了某个响应头,为什么还会扣分?

因为存在的响应头未必是在起作用的响应头。content-security-policy: default-src * 允许互联网上任何主机提供脚本,而 x-frame-options: ALLOWALL 多年来没有任何浏览器遵守。两者都按实际作用评分,因此都只拿一半分数而不是满分。

我没有 X-Frame-Options 却通过了,为什么?

你的 Content Security Policy 带有 frame-ancestors,作用相同,并且在同时实现两者的所有浏览器中优先生效。再设置那个旧的响应头没有坏处,但它的缺失并不是缺口。

这能告诉我网站是否安全吗?

不能。它读取一次响应的响应头并只为此评分,不查找恶意软件、不测试你的登录、也不查看你的代码。这里得到好成绩只说明响应头设置得当,仅此而已——我们宁愿这样讲,也不愿暗示一份并未测量过的安全结论。

响应头是服务器的事,不是网站的事。它们在服务器配置里设置一次,而这正是托管型主机为你接手的那一层。

了解 Squish 主机 →