如何添加HTTP安全头?

4
我该如何在我的网站上添加以下安全头?
X-Frame-Options - 防止点击劫持攻击 X-XSS-Protection - 缓解跨站脚本攻击(XSS) X-Content-Type-Options - 防止可能的钓鱼或XSS攻击

你好,欢迎来到SO,请前往帮助中心并查看有关提问的部分:https://stackoverflow.com/help/asking 尤其是创建一个最小、完整、可验证的示例的文章将有助于改进你在这里的问题。https://stackoverflow.com/help/mcve。 - Maël Pedretti
请尝试访问此链接:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/X-Frame-Options - Choxmi
请详细说明您的问题(如果您包含代码会更好)。 另外,您可以阅读 https://stackoverflow.com/help/how-to-ask。 - johirpro
@johirpro 我不能在这里包含整个网络应用程序...这是网站漏洞扫描器报告中的一个问题。 - nkumar
1个回答

13

您可以使用两种方式添加这些标题:

Apache配置文件或者.htaccess文件

<IfModule mod_headers.c>
Header set X-Frame-Options "DENY"
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options "nosniff"
</IfModule>

Apache/htaccess 方法可能是首选的方法。如果您将其添加到配置文件中,该文件可能位于 httpd.conf 中,也可能位于虚拟主机配置文件中(这取决于服务器的设置方式),则应将其放置在一个 <Directory> 元素内部。要使用 .htaccess,站点的配置必须具有 AllowOverride All。虽然这很标准,但您还必须在 Apache 中安装 mod_headers 库。

PHP

header('X-Frame-Options: DENY');
header('X-XSS-Protection: 1; mode=block');
header('X-Content-Type-Options: nosniff');

使用PHP方法时,您需要将此写入每个响应中,因此,如果您没有能够执行此操作的引导程序,则建议利用Apache配置文件或.htaccess文件。


很高兴它起作用了。你可能想试着重新措辞你的问题。我猜到了你的问题,因为我们处理了很多启用WAS的应用程序。像“如何向我的网站添加安全头?”这样的问题就可以解决了。祝你好运! - Lawrence Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接