黑帽联盟

 找回密码
 会员注册
查看: 1356|回复: 0
打印 上一主题 下一主题

[经验] Nginx添加header防止网页被iframe

[复制链接]
yun 黑帽联盟官方人员 

920

主题

37

听众

1364

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    下面主要说说几种防止被CrossFrame的方法:

    可以使用php或nginx等添加X-Frame-Options header来控制frame权限
    X-Frame-Options有三个可选的值:
    DENY:浏览器拒绝当前页面加载任何Frame页面
    SAMEORIGIN:frame页面的地址只能为同源域名下的页面
    ALLOW-FROM:允许frame加载的页面地址

    1、php防止方法
    1. header('X-Frame-Options:Deny');
    复制代码
    2、Nginx防止方法
    1. add_header X-Frame-Options SAMEORIGIN
    复制代码
    可以加在locaion中
    1. location /
    2. {
    3.      add_header X-Frame-Options SAMEORIGIN;
    4. }
    复制代码
    3、Apahe 防止方法
    1. Header always append X-Frame-Options SAMEORIGIN
    复制代码
    使用后不充许frame的页面会显示一个白板

    补充
    我写了一段很简单的javascript代码,大家只要将它放入网页源码的头部,那些流氓就没有办法使用你的网页了。
    1. <script type="text/javascript">
    2. if (window!=top) // 判断当前的window对象是否是top对象
    3. top.location.href =window.location.href; // 如果不是,将top对象的网址自动导向被嵌入网页的网址
    4. </script>
    复制代码
    升级一下彻底防止别人用iframe框架嵌套调用自己的网页,如下方法是最可靠的.
    这里赋值为空页面,也可赋值为你的页面的url地址.
    1. <script language="javascript">
    2. if(top != self){
    3.     location.href = "about:blank";
    4. }
    5. </script>
    6. javascript防止网页被别人iframe框架
    7. </head>
    8. <body>
    9. </body>
    10. </html>
    复制代码
    上面代码只能防止最简单的,如果对方使用的是利用php curl抓取呢?这样我们需要封对方IP才可以,最常用的就是在于apache或防火墙中把对方IP设置为黑名单了,这样就抓取不了。

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部