网站被镜像了,其实就是有人把域名解析到你的网站上,做了反向代理,生成了一个镜像网站,当别人访问镜像网站域名时,镜像网站就会访问原网站数据,之后数据返回给访客。访客的感觉就想是在访问原网站的数据一样。镜像网站的存在会导致原网站降权。所以如果发现网站被镜像了,应该及时禁止镜像。 本文主要讲解一下怎样禁止镜像网站。
方法/步骤
方法一:封镜像网站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等方法进行镜像网站跳转原网站。但这两种方法没有测试成功,感兴趣的朋友可以自己研究一下。