防止网站被反代(禁止反向代理)的方法

通过反向代理再加上缓存,现在很容易就能把别人的站给镜像克隆,这样会造成你网站被搜索引擎判断重复内容而降权,这样对于原创站点真的很不公平,虽然可以通过查询对方网站IP,然后在服务器上禁止这个IP的方法来禁止,但是对可以经常更换IP的对方网站或者对方套了CDN,就比较难操作,其实还可以再综合下面做法:

一、使用.htaccess禁止反向代理
在站点根目录下新建 .htaccess 文件,然后添加如下的内容:

RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php

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

<?php  
$f = getenv("HTTP_X_FORWARDED_FOR");  
$url = "https://www.bingdou.net";  
if ($f!=""){  
print "";  
print "";  
}  
?>

二、使用js代码判断域名

<script type="text/javascript">  
if (document.domain != 'bingdou.net' && document.domain != 'www.bingdou.net'){
window.location.href='https://www.bingdou.net/';
}
</script>

这种是首先判断他的域名是不是bingdou.net这个域名,如果是则正常访问,如果不是则跳转到我们https://www.bingdou.net网站。
三、使用php判断域名
这种方法跟使用js代码来跳转域名是一个道理,都是先判断域名,如果是代理的域名则进行跳转,代码如下:

<?php 
if($_SERVER['SERVER_NAME'] != 'bingdou.net' ||$_SERVER['SERVER_NAME'] != 'www.bingdou.net' )
{
exit('非法反向代理访问');
}
?>

如果是实时代理的话,上面三种方法就已经足够了,但如果他使用了缓存,将代理的网站缓存到他自己的服务器上面,再使用这些就不管用了,因为内容已经被抓取到对方网站上去了,你这里做的更改对方并不会更新到,这个时候如果有用CND,类似阿里云CDN,上面有个防止外链,把防外链给开启,这样对方调用你网站的图片等资源就不会显示了。
一般的网站CSS,JS调用基本上用的都是绝对路径,所以我们还可以重命名CSS,JS的文件包,尝试打乱对方网站布局。
另外:一定要记得禁止你服务器直接使用服务器IP访问你站点的功能,不然别人随便解析个域名到你IP就能访问你的网站内容了

0

评论0

请先

没有账号? 注册  忘记密码?

社交账号快速登录