禁止网站被反向代理(即禁止镜像网站)

By | 2020-03-10

网站被镜像了,其实就是有人把域名解析到你的网站上,做了反向代理,生成了一个镜像网站,当别人访问镜像网站域名时,镜像网站就会访问原网站数据,之后数据返回给访客。访客的感觉就想是在访问原网站的数据一样。镜像网站的存在会导致原网站降权。所以如果发现网站被镜像了,应该及时禁止镜像。 本文主要讲解一下怎样禁止镜像网站。

方法/步骤
方法一:封镜像网站IP

1、镜像网站需要访问原网站数据,所以我们禁止镜像网站ip,镜像网站就不能访问原网站了。

2、获取镜像网站的ip注意,直接ping镜像网站域名得到的ip是镜像网站的前台ip。而获取数据的后台ip可能和前台ip不是同一个。所以获取镜像网站后台ip的方法如下:

(1)创建一个php文件,命名为ip.php ,在其添加如下代码:

<?php

$file = "ip.txt";//保存的文件名

$ip = $_SERVER['REMOTE_ADDR'];

$handle =fopen($file,'a');

fwrite($handle,"IP Address:");

fwrite($handle,"$ip");

fwrite($handle,"\n");

fclose($handele);?>

之后保存,把ip.php上传到原网站根目录。

(2)之后访问:http://镜像网站域名/ip.php ,这样在原网站根目录下会生成一个ip.txt文本文件,其内容就包含了镜像网站后台ip地址。

(3)封镜像网站ip

在上一步获取到镜像网站后台ip后,就可以在原网站的空间管理中禁止此ip访问。也可以在原网站后台禁止此ip访问(很多网站系统,例如帝国cms,都有禁止ip访问的功能)。如果你不会禁止ip,也可以联系空间商,让其帮忙禁止ip。

注意事项:方法一比较简单,针对ip,但有时候镜像网站ip不固定,你刚禁止了ip,镜像网站的ip自动又改变了。这时候,我们就不能针对ip,只能针对域名了。下面的方法就是针对域名进行禁止。

方法二:JS代码跳转

这种方法是在原网站添加js代码判断域名,如果域名是原网站就正常显示,如果不是原网站域名,就跳转到原网站。

在网页的<head></head>部分添加下面代码:

<script type="text/javascript">

if (document.location.host != "lixx.vip") {

location.href = location.href.replace(document.location.host,'lixx.vip');}

</script>

其中的域名可以改成原网站,当判断域名不是原网站域名时,会自动跳转到原网站。

方法三:JS代码判断域名,显示提示文字

方法二是用js判断域名,如果不是原网站,就跳转回原网站,我们也可以用js判断域名,如果不是原网站域名,而是镜像网站域名,则在镜像网站显示提示文字。

在网页<body></body>之间添加如下代码:

<style>

#fjx{display:none;width:100%;height:100%;margin:auto;background:#fff;z-index:1000;left:0;right:0;top:0;bottom:0;position:fixed;}

.fjx{display:none; text-align:center;font-size:18px;margin-top:200px;}

.fjx p{border-bottom:1px solid rgba(244,116,2,1);}

</style>

<script type="text/javascript">

if (document.location.host != "lixx.vip") {

window["document"]["writeln"]("<style>#fjx,.fjx{display:block!important;}</style>");

}

</script>

<div id="fjx"><div><p>提示:你现在浏览的网站是镜像网站</p>请访问原网站:lixx.vip </div></div>

当访问原网站时,正常访问,当访问镜像网站时,会出现提示文字

方法四:用div+css来区分镜像网站

有时候,镜像网站会屏蔽js代码,那么方法二、三的js就不能生效了。这时候我们正好可以利用js不生效,用div+css来区分镜像文件。方法原理和方法三正好相反,代码差不多。代码如下:

在网页<body></body>之间添加如下代码:

<style>

#fjx{width:100%;height:100%;margin:auto;background:#fff;z-index:1000;left:0;right:0;top:0;bottom:0;position:fixed;}.fjx{text-align:center;font-size:18px;margin-top:200px;}

.fjx p{border-bottom:1px solid rgba(244,116,2,1);}

</style> 

<script type="text/javascript">

window["document"]["writeln"]("<style>#fjx,.fjx{display:none!important;}</style>");

</script>

<div id="fjx"><div class="fjx"><p>提示:你现在浏览的网站是镜像网站</p>请访问原网站:lixx.vip/</div></div>

当访问原网站时,正常访问,当访问镜像网站时,由于镜像网站屏蔽js,所以这个div的文字就会显示出来。效果和方法三一样

这样镜像网站就不能正常访问了。 除了上面4种方法,还有php、.htaccess等方法进行镜像网站跳转原网站。但这两种方法没有测试成功,感兴趣的朋友可以自己研究一下。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注