A-A+

如何禁止网站被反向代理

2016年01月07日 编程技术 暂无评论

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

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

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

RewriteEngine On

RewriteBase /

php_value auto_append_file proxy.php

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

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

二、使用 js 代码判断域名

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

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

三、使用 php 判断域名

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

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

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

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

标签:

给我留言

Copyright © 小虎博客 保留所有权利.   Theme  Ality

用户登录