修改web服务器配置,添加X-frame-options响应头。赋值有如下三种:
(1)DENY:不能被嵌入到任何iframe或frame中。
(2)SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。
(3)ALLOW-FROM uri:只能被嵌入到指定域名的框架中。也可在代码中加入,在PHP中加入:header('X-Frame-Options: deny');
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在,或者中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
使用 X-Frame-Options
X-Frame-Options 有三个值:
DENY 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示。
目前用到的解决办法:
1、配置Apache:
(如果是在本地的话,就是在httpd.conf里面配置;如果是linux(ubuntu的话)就是在apache2.conf里面),找个空的位置加入这行代码,具体看你是选择哪种
Header always append X-Frame-Options SAMEORIGIN
有可能会遇到一种情况,就是我在服务端配置完apache之后,尝试 Restart Apache 但是报了一个错误:
Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration
开启Apache的扩展headers_module
[root@host-192-168-6-15 ~]# httpd -M | grep headers
headers_module (shared)
先输入 a2enmod heade ,然后需要重启一下Apache,输入service apache2 restart
测试:
2、配置Nginx:
配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:
add_header X-Frame-Options SAMEORIGIN;
3、配置IIS:
配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:
...
...
4、在服务端设置的方式如下:
Java代码:
response.addHeader("x-frame-options","SAMEORIGIN");
本文由 帝一博客 原创发布。用户在本站发布的原创内容(包括但不仅限于回答、文章和评论),著作权均归用户本人所有。独家文章转载,请联系邮箱:17762131@qq.com。获得授权后,须注明本文地址:
https://www.d1blog.com/linuxyunwei/1690.html