Web入门菜鸟运维

Nginx使用X-Frame-Options避免xss攻击/劫持攻击/js脚本攻击的简易方法

nmap_scan.jpg插图

将以下Nginx配置代码写入http-server段落下:

http {
      server {
              add_header X-Frame-Options "SAMEORIGIN";
              add_header X-XSS-Protection "1; mode=block";
              add_header X-Content-Type-Options "nosniff";
              }
      }

修改nginx服务器配置,添加X-frame-options响应头。赋值有如下三种

(1)DENY:不能被嵌入到任何iframe或frame中。
(2)SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

也可在代码中加入,在PHP中加入:

header('X-Frame-Options: deny');

X-XSS-Protection 三个可选配置值解释:

0: 表示关闭浏览器的XSS防护机制

1:删除检测到的恶意代码, 如果响应报文中没有看到X-XSS-Protection 字段,那么浏览器就认为X-XSS-Protection配置为1,这是浏览器的默认设置

1; mode=block:如果检测到恶意代码,不在渲染恶意代码

如果在你的业务场景中,你认为你的程序或系统是不会有XSS漏洞的, 或者是无法承担XSS filter/auditor 特性引发的BUG,那你就选择配置成前者;否则,你还是选择配置成后者吧。

(以上,END)