这个首先要了解镜像的原理和镜像网站的缺点。
我也遇到了相关的问题,我做的处理目前就是,首先做了相关的分析,我首先自己做了一个小偷程序和网站镜像网站。想要防御首先要知道对手的招数,所以我就做了一个网站镜像,去爬取自己的网站。在过程中发现小偷和镜像程序的问题和弱点。
我看了网上的一些处理方案和办法,并进行了尝试。下面我进行举例说明每种防御方法的结果和被镜像的处理办法:
一、替换相关链接,改成绝对地址
首先很多人想到的就是替换这个绝对地址,加上网站链接、网站名称、版权声明之类的,搜索引擎会识别哪个是正版。但镜像小偷程序连链接带文字都可以全部自动替换,这么做并没有用。
二、JS跳转网站连接
这种方法就是通过js判断跳转网站是否在自己的域名上,如果不是强制跳转到自己的域名上。J S代码检测一下正在被打开的页面是不是在自己的域名上,是的话正常显示,不是的话(域名是镜像网站时)强迫转向到自己域名。不过这种方法只对用户有效,搜索引擎不执行JS,还是会抓取到镜像内容。也可以用PHP写脚本判断和转向。
三、屏蔽ip地址。
通过查看网站日志、统计代码来查看镜像程序的爬取ip,并用服务器禁止爬取,这种方法可以,
不过镜像网站来实时抓取用的IP大部分情况下不是域名主机IP,可能是CDN,可能是伪造IP,也可能是多IP的服务器。要发现必须屏蔽的IP,需要查看网站原始日志。我的一个小窍门是,访问镜像网站上一个很少人会访问的页面,比如翻页第70页,然后马上查看日志,这个页面被访问的IP就是应该屏蔽的IP:
但是现在镜像网站经常是会伪造或实时轮换IP地址的,如果屏蔽一个IP网站还能访问,就再访问翻页69页、68页等等,找到更多IP。屏蔽也可以屏蔽IP段。不过我的经验是,通常镜像网站不会使用超过10个IP地址。
上面是技术相关的方法。基本上来说,网站被镜像还是不好处理的,因为这个从技术上来说,网站本身就是被展现的,那么爬虫和人一样来爬取网站和复制,这个很难从技术的屏蔽。下面是一些其他方法,就是人为防御。通过举报,还有网站被镜像是如何发现并进行人为干预的(非技术干预)。具体看下文:
四、采用ddos的方式攻击镜像网站
ddos攻击的损耗比较大,但是需要3天以上的攻击才能有效。在投诉期间不要使用,要不然百度会误判问题。当然也是不是特别的好的方法
五、安装ssl证书
https的协议的网站是无法被抓取复制的,镜像程序对于https协议的网址无效,但是需注意http的网站如果能打开的话http的网站依然可以被镜像。