• 关于防止 iframe 嵌套


    网页被他人嵌套,可能会引发一些问题:

    大量的403/404 访问问题,

    可能会被木马网站劫持,

    地址无法与内容对应。

    面对这样的情况,处理的方法有以下几种

    1、在haed中设置mata属性

    <meta http-equiv="X-Frame-Options" content="SAMEORIGIN">
    或者更详细:
    
    <meta http-equiv="X-Frame-Options" content="SAMEORIGIN / DENY "> 
    
    指定具体网站:
    <meta http-equiv="X-Frame-Options" content="ALLOW-FROM http://xxx.xxx.com">

    2、使用JS代码控制

    if (top.location != self.location){
        alert("本页面被其他网站嵌套");
        // 具体操作....
        top.location=self.location
    }
    
    或者: (function(window,document){ if(top != window){ top.location = location.href; } document.uniqueID != document.uniqueID && !!location.hash && (location.hash = location.hash); window.focus(); })(this,document);

    3、服务器中设置拦截

    配置 Apache 在所有页面上发送 X-Frame-Options 响应头,需要把下面这行添加到 'site' 的配置中:

    Header always append X-Frame-Options SAMEORIGIN

    配置 nginx 发送 X-Frame-Options 响应头,把下面这行添加到 'http', 'server' 或者 'location' 的配置中:

    add_header X-Frame-Options SAMEORIGIN

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

    <system.webServer>
      ...
     
      <httpProtocol>
        <customHeaders>
          <add name="X-Frame-Options" value="SAMEORIGIN" />
        </customHeaders>
      </httpProtocol>
     
      ...
    </system.webServer>

    在web.xml文件下添加以下内容:

    <!-- 设置Frame头,防止被嵌套 --> 
    <filter>
     <filter-name>FrameFilter</filter-name> 
    <filter-class>filter.FrameTao</filter-class>
     </filter> 
    <filter-mapping>
     <filter-name>FrameFilter</filter-name>
     <url-pattern>/*</url-pattern> 
    </filter-mapping>
  • 相关阅读:
    Python中的编码
    编译gcc
    内存的非法读写操作的检查
    Git合并特定commits 到另一个分支
    局部静态变量是如何做到只初始化一次的?
    how-to-redirect-cin-and-cout-to-files
    Time series database
    Linux System Calls Hooking Method Summary
    tomcat 创建虚拟主机
    oracle查锁表SQL
  • 原文地址:https://www.cnblogs.com/LiangPF/p/14435929.html
Copyright © 2020-2023  润新知