如何禁止网站被恶意镜像(反向代理)访问

转载   夏日博客  2016-01-16 06:47:36  1,011 人阅读  22 条评论

投放广告联系   诚邀合作伙伴   赞助我们   公告栏   赞助光荣榜

前几天两个站点被别人完全境像代理,基本上就是直接让他给复制过去了,我也是醉了,直接镜像过去,然后再缓存到他自己的服务器上面,真是绝了,你自己的站点再加什么代理去反代理也不管用了,因为他的站点根本就不变,使用了 .htaccess 来反代理,也使用了 js 判断域名都不管用,所以我一直在判断他使用了缓存机制,如果不使用缓存,时时代理的话肯定是可以的,夏日博客先把这两种方法来总结一下吧。

如何禁止网站被恶意镜像(反向代理)访问

一、使用 .htaccess 禁止反向代理

在站点根目录下新建 .htaccess 文件,然后添加如下的内容:

  1. RewriteEngine On
  2. RewriteBase /
  3. php_value auto_append_file proxy.php

再新建 proxy.php 文件,添加如下代码保存.

  1. <?php
  2. $f = getenv("HTTP_X_FORWARDED_FOR");
  3. $url = "http://www.xiariboke.com";
  4. if ($f!=""){
  5. print "“;
  6. print ““;
  7. }
  8. ?>

二、使用 js 代码判断域名

  1. <script type="text/javascript">
  2. if (document.domain != 'xiariboke.com' && document.domain != 'www.xiariboke.com'){
  3. window.location.href='http://www.xiariboke.com/';  
  4. }
  5. </script>

这种是首先判断他的域名是不是 xiariboke.com 这个域名,如果是则正常访问,如果不是则跳转到原网站。

PS:张戈博主分享的JS优化方案,只需要将以下JS代码放在<head></head>中间就可以了

  1. <script type="text/javascript">
  2. if (document.location.host != "boke112.com") {
  3. location.href = location.href.replace(document.location.host,'boke112.com');
  4. }
  5. </script>

三、使用 php 判断域名

这种方法跟使用 js 代码来跳转域名是一个道理,都是先判断域名,如果是代理的域名则进行跳转,代码如下:

  1. <P><?php </P>
  2. <P>if($_SERVER['SERVER_NAME'] != 'xiariboke.com' ||$_SERVER['SERVER_NAME'] != 'www.xiariboke.com' )
  3. {
  4. exit('非法反向代理访问');
  5. }</P>
  6. <P>?></P>

如果是时时代理的话,上面三种方法就已经足够了,但如果他使用了缓存,将代理的网站缓存到他自己的服务器上面,再使用这些就不管用了。因他被他代理的站都不更新了,你再怎么改都不行,尤其现在的阿里云CDN、360CDN又这么牛,而我的站点使用的就是阿里云CDN,上面有个防止外链,把防外链给开启才解决

一般的网站CSS,JS调用基本上用的都是绝对路径,所以我们可以重命名CSSJS的文件包以达到对别人境像网站的控制,把他的页面搞乱,这样相信坚持不了几天,他就会换成其它网站了。

历史上的今天:

文章标签: ,   ,  
原文地址:http://www.xiariboke.com/article/2401.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为转载文章,来源于 夏日博客 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress/zblogPHP免费响应式博客主题Blogs