怎么防止网站被别人使用iframe框架恶意调用?

投稿   沈唁志  2018-07-23 07:11:20  155 人阅读  22 条评论

最近发现了一个网站竟然直接使用iframe引用了全站,包括腾讯云的全站,已经通知了腾讯云的运营,运营的答复是会通过司法途径尝试去解决。个人是不可能这么干了,太麻烦,但是我也联系了该网站所在的网安进行监督处理,不知道是什么结果,有结果了再说吧。既然说到了怎么防止 iframe 框架恶意调用,那我们就应该知道什么是 iframe 框架,其实就是我们常用的 iframe 标签:<iframe>。

iframe 元素会创建包含另外一个文档的内联框架(即行内框架),我们可以在我们自己的网站页面加载别人网站或者本站其他页面的内容经常会用到,比如后台常见的厂字型 UI 框架,并且所有浏览器都支持 <iframe> 标签。

其他的不多说了,如果需要了解的话可以看看 W3C 或者菜鸟教程,下面开始正题,怎么防止 iframe 框架恶意调用?

一、js版本防止 iframe 框架恶意调用

1.通用 JS版本

WordPress 网站可以将以下 JS 代码添加在 footer.php 中,其他网站也可以加在相应的底部文件中。

  1. <script type="text/javascript">
  2.         if (self!=top){
  3.             window.top.location.replace(self.location);
  4.         }
  5. </script>

2.WordPress版本

将以下代码直接添加到当前主题的 functions.php 文件中即可

  1. function break_out_of_frames() {
  2.     if (!is_preview()) {
  3.         echo "\n<script type=\"text/javascript\">";
  4.         echo "\n<!--";
  5.         echo "\nif (parent.frames.length > 0) { parent.location.href = location.href; }";
  6.         echo "\n-->";
  7.         echo "\n</script>\n\n";
  8.     }
  9. }
  10. add_action('wp_head', 'break_out_of_frames');

其实上面两种都是 JS 版本的,这样使用是没有问题的,但是当你使用 WordPress 后台自定义编辑的时候,就会跳转,很烦人,你也可以做一下优化,判断是不是你的域名,如果是就不使用。

二、X-Frame-Options防止 iframe 框架恶意调用

下面说一下通过修改 X-Frame-Options 响应头的方式,X-Frame-Options 有三个值:

  • DENY表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许;
  • SAMEORIGIN:表示该页面可以在相同域名页面的 frame 中展示;
  • Allow-From [uri]表示该页面可以在指定来源的 frame 中展示。

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套,一般建议设置为 SAMEORIGIN 即可,如果发现有很多人恶意利用 iframe 框架调用,那么就设置为 DENY。具体设置 X-Frame-Options 的值的方法如下:

1.PHP版本

  1. <?php header('X-Frame-Options:Deny'); ?>

WordPress 网站放到主题模板 header.php 文件中的标签前,其他建站程序参考设置即可。

2.Apache服务器

配置 Apache 在所有页面上发送 X-Frame-Options 响应头,有两种办法:

2.1 在 Apache 主机的 httpd.conf 文件中需要把下面这行添加到’site’的配置中并重启生效即可:

  1. Header always append X-Frame-Options SAMEORIGIN

2.2 在网站根目录下的 .htaccess 文件中加上下面这句代码即可。

  1. Header append X-FRAME-OPTIONS "SAMEORIGIN"

2.Nginx服务器

配置 Nginx 发送 X-Frame-Options 响应头,把下面这行添加到 ‘http’,’server’ 或者’location’的配置中并重启生效即可:

  1. add_header X-Frame-Options SAMEORIGIN;

3.IIS服务器

配置 IIS 发送 X-Frame-Options 响应头,添加下面的配置到 Web.config 文件中:

  1. <system.webServer>
  2.   ...
  3.   <httpProtocol>
  4.     <customHeaders>
  5.       <add name="X-Frame-Options" value="SAMEORIGIN" />
  6.     </customHeaders>
  7.   </httpProtocol>
  8.   ...
  9. </system.webServer>

这样就可以了,可能有些浏览器兼容性有问题,不过问题不大。

历史上的今天:

文章标签: ,   ,   ,  
原文地址:https://qq52o.me/2393.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 沈唁志 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
沈唁志

相关文章 分类热门分类热评最新问答

 发表评论

中国赞表情摊手表情吃瓜表情笑哭表情偷笑表情衰表情汗表情思考表情费解表情抓狂表情晕表情流泪表情疑问表情嘻嘻表情吃惊表情鼓掌表情

  1. 姚兵
    姚兵 @回复

    学习了,

  2. 革命尚未成功
    革命尚未成功 @回复

    学习了,谢谢

  3. 网站建设
    网站建设 @回复

    很烦的这个

  4. 闲鱼
    闲鱼 @回复

    又涨姿势了,大佬威武 [嘻嘻]

  5. 烟火
    烟火 @回复

    网安是不管这个的,详细可以看网安备案那个网站里面的我要举报,而且这个好像没有触犯法律。

  6. 异星软件空间
    异星软件空间 @回复

    我也曾经被恶意调用,真烦~~ [吃瓜]

  7. 爆实惠
    爆实惠 @回复

    技术帝的世界我们真不懂~~

  8. 涂红伟
    涂红伟 @回复

    通过嵌入别人网页七八年前很普遍,现在少了很多。

  9. 土蜂蜜百科网
    土蜂蜜百科网 @回复

    调用到不觉得怎么,镜像就有点。。。。

  10. 爱玩手机网
    爱玩手机网 @回复

    貌似有专门扫网站漏洞的,好多大新闻站都会被劫持。

  11. nice
    nice @回复

    长知识啊 厉害

  12. 区块链
    区块链 @回复

    [汗] 好可怕的。

  13. 靠谱学生兼职网
    靠谱学生兼职网 @回复

    就让它来吧,反正,网站有自己的广告、项目,他帮宣传不好吗?

  14. 明月登楼
    明月登楼 @回复

    我始终不明白这种劫持有什么用呢? [笑哭]

  15. 清秋暖冬
    清秋暖冬 @回复

    看不懂系列加一 [笑哭] 话说112的表情包是不是换了 [思考]

  16. 沃森博客
    沃森博客 @回复

    不错,佩服!

  17. 手机兼职
    手机兼职 @回复

    无聊的人就是这么多

  18. 千眼网
    千眼网 @回复

    涨见识啦。

  19. JONE
    JONE @回复

    日,昨天我就在研究这个,今天就让别人发表了相关文章