文章最后更新时间:2024年05月17日
网络安全是一个重要的课题,如果自己花时间精力编排的网站和内容,被第三方网站恶意iframe框架引用,那肯定是站长不愿意看到的。HTML提供了iframe标签,可以用于展示第三方的网页,对于别有用心的人就可以利用这点做一个镜像网站。怎样禁止别人网站通过iframe框架引用你网站的内容呢?可以通过X-Frame-Options来限制其他网站引用,详细方法如下:
X-Frame-Options含义
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 <frame>, </iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌套到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
X-Frame-Options参数
1、DENY
表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。
Nginx配置示例:add_header X-Frame-Options DENY;
2、SAMEORIGIN
表示该页面可以在相同域名页面的frame中展示。
Nginx配置示例:add_header X-Frame-Options SAMEORIGIN;
3、ALLOW-FROM uri
表示该页面可以在指定来源的frame中展示。
nginx配置示例:add_header X-Frame-Options ‘ALLOW-FROM https://xxx.xxxxxx.com’;‘’引号是必须要写的哦!
4、ALLOWALL
表示该页面允许全部来源域名的frame展示。
nginx配置示例:add_header X-Frame-Options ALLOWALL;
换一句话说,如果设置为DENY,不光在别人的网站frame嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为SAMEORIGIN,那么页面就可以在同域名页面的frame中嵌套。正常情况下我们通常使用SAMEORIGIN参数。
X-Frame-Options配置
Nginx
如果你的服务器使用的是nginx或者宝塔面板,可以通过下面的方法来实现X-Frame-Options: sameorigin的添加。
在你虚拟主机的ningx的配置文件里面,添加上下面这串代码(宝塔用户的操作路径是:网站-设置-配置文件)
add_header X-Frame-Options SAMEORIGIN always;
代码添加到root那一串内容的上面一排,如下:
listen 80; listen 443 ssl http2; server_name blog.xxx.com; index index.HTML index.htm default.html default.htm index.PHP default.PHP; add_header X-Frame-Options SAMEORIGIN always; root /www/wwwroot/blog.xxx.com;
添加完毕后重启ningx服务,就可以看到效果了。
LNMP一键包重启nginx的命令是:/etc/init.d/nginx restart
宝塔重启nginx的路径是:应用商店-搜索nginx-点击nginx-重启
Apache配置
配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:
Header always set X-Frame-Options "SAMEORIGIN"
要将 Apache 的配置 X-Frame-Options 设置成 DENY,按如下配置去设置你的站点:
Header set X-Frame-Options "DENY"
IIS配置
配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ... </system.webServer>
还没有评论,来说两句吧...