作者今天查看百度访问统计,查看到昨天访问异常,查看到大量pv,这个明显比正常多,正暗暗高兴感觉自己网站有很多人查看了,结果点击查看昨天的访问记录,查看到访问来源,查看到一个不熟悉的域名www.calfiz.com,点击访问检测这个来源,查看到对应的内容居然和我网站一样,但是内容中多了一些博彩赌博的内容,下意识就知道自己网站被镜像抓取了。
开始
目前还不知道主机网站是镜像还是内容被抓取,先测试一下发布了一片新文章,发现对应的采集站没有出现该文章,但是可以确定是可能是镜像缓存了自己的网页。先在自己的网站目录下创建了一个测试文件bom.php
<?php echo "REMOTE_ADDR:".$_SERVER["REMOTE_ADDR"]."</br>"; echo "HTTP_X_FORWARDED_FOR:".$_SERVER["HTTP_X_FORWARDED_FOR"]."</br>"; echo "HTTP_CLIENT_IP:".$_SERVER["HTTP_CLIENT_IP"]."</br>"; echo "HTTP_X_REAL_IP:".$_SERVER["HTTP_X_REAL_IP"]."</br>"; ?>
网站被反向代理方式镜像处理方法:https://www.lnmpweb.cn/archives/5759
www.calfiz.com/bom.php尝试获取一下他对应的服务器ip,访问404获取不到ip,说明不是反向代理方式镜像,这样就无法进行屏蔽他的ip禁止他再次镜像或者采集了。
想了一下他是抓取我们的网页内容,那么在我们的页面中js静态内容也是会被抓取,那么通过js判断一下对应的访问的域名是不是我们的域名,如果不是就跳转回来就可以。
代码如下:
<script type="text/javascript"> host = window.location.host; if (host != "www.nrsp.net") { top.location.href = "http://www.nrsp.net"; } </script>
查看了一下对方的网站,基本上将我们的网站域名给替换隐藏了,可能在抓取的时候会自动替换我们的域名,为了防止域名被替换,考虑使用js混淆(站长工具:http://tool.chinaz.com/tools/jscodeconfusion.aspx)。
<script type="\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74"> < host = window["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x6f\x73\x74"]; if (host!="\x77\x77\x77\x2e\x6c\x6e\x6d\x70\x77\x65\x62\x2e\x63\x6e" ) { top["\x6c\x6f\x63\x61\x74\x69\x6f\x6e"]["\x68\x72\x65\x66"]='\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x6c\x6e\x6d\x70\x77\x65\x62\x2e\x63\x6e'; } </script>
现在可以耐心等待一段时间,由于对方已经抓取了我们的网页,那么对应的内容可能会缓存下来,只能等他下次抓取的时候对应的页面就会将静态内容抓取过去,这样访问他域名就会自动跳转到我们的域名了。
开始是加载页面头部考虑到太明显后,可能被对方过滤掉,于是将对应的代码添加到js的公共文件jqeury中,现在就是等他下次抓取查看效果。
【结束语】
网站能提供访问就无法避免被镜像和抓取,但是可以想出很多办法去解决,如果还有其他较好的解决办法,可以留言讨论,后期溯源: 网站被镜像后期溯源查找镜像来源1查看到对应的域名whois,居然是国内西部数码注册的域名,这个真的是作死,反手就去域名注册商举报一波。