防止网站被反代(禁止反向代理)的方法
通过反向代理再加上缓存,现在很容易就能把别人的站给镜像克隆,这样会造成你网站被搜索引擎判断重复内容而降权,这样对于原创站点真的很不公平,虽然可以通过查询对方网站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就能访问你的网站内容了
- 最新评论