快捷搜索:   nginx

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

通过反向代理再加上缓存,现在很容易就能把别人的站给镜像克隆,这样会造成你网站被搜索引擎判断重复内容而降权,这样对于原创站点真的很不公平,虽然可以通过查询对方网站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.bnxb.com";  
if ($f!=""){  
print "";  
print "";  
}  
?>


二、使用 js 代码判断域名

<script type="text/javascript">  

if (document.domain != 'bnxb.com' && document.domain != 'www.bnxb.com'){  

window.location.href='https://www.bnxb.com/';  

}  

</script>  

这种是首先判断他的域名是不是 bnxb.com 这个域名,如果是则正常访问,如果不是则跳转到我们https://www.b nxb.com网站。


三、使用 php 判断域名

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

<?php 

if($_SERVER['SERVER_NAME'] != 'bnxb.com' ||$_SERVER['SERVER_NAME'] != 'www.bnxb.com' )   

{  

exit('非法反向代理访问');  

}  

?> 

如果是实时代理的话,上面三种方法就已经足够了,但如果他使用了缓存,将代理的网站缓存到他自己的服务器上面,再使用这些就不管用了,因为内容已经被抓取到对方网站上去了,你这里做的更改对方并不会更新到,这个时候如果有用CND,类似阿里云CDN,上面有个防止外链,把防外链给开启,这样对方调用你网站的图片等资源就不会显示了。

一般的网站CSS,JS调用基本上用的都是绝对路径,所以我们还可以重命名CSS,JS的文件包,尝试打乱对方网站布局。


另外:一定要记得禁止你服务器直接使用服务器IP访问你站点的功能,不然别人随便解析个域名到你IP就能访问你的网站内容了

顶(3)
踩(2)

您可能还会对下面的文章感兴趣:

最新评论