解决网站被竞争对手恶意刷流量的方法技巧
作为站长朋友对于网站经常被同行竞争对手恶意刷流量的情况已经司空见惯了。
很多时候恶意刷流量的IP来路是随机的,全国各地乃至全世界的ip都有,根本没办法查出来是谁干的。
当我们的网站面对竞争对手恶意刷流量应该如果面对,如何做好预防工作呢?
第一:当自己的网站经常被竞争对手恶意刷流量会带来哪些后果?
1、网站被百度降权,收录减少,排名下降,甚至直接被百度K站。尤其是使用百度统计等相关百度系工具的网站更是会被百度察觉异常并被百度惩罚。即便是没有被百度发觉,大流量可能会影响蜘蛛顺利抓取网站。
2、刷流量会导致网站每日流量不稳定
谁能够控制这些不真实的流量,作为网站站长的你也不能。可以试想一下今天的网站因为被竞争对手恶意刷了流量达到了独立IP500+,而明天因为有事没有刷流量,网站的流量又回到了几十,长期的这样更替下去对网站在搜索引擎的地位来说是一个致命打击,大家想一下,搜索引擎不认可你的网站流量还会给予你更好的网站排名吗?肯定不能,说不定还会因为网站的流量不稳定而降低你的网站排名,这就是所谓的害人害己。
3、刷网站流量,造成网站带宽耗尽,让用户达不到。很多站长使用的虚拟主机,虚拟主机的流量一旦被刷完,服务提供商可能就会关闭服务器。
4、测试服务器宽带抗压容量和内存处理能力,下一步更大规模的攻击,直接阻塞掉服务器。服务器宽带容量是有限的,垃圾流量堵塞住了正常管道,普通用户的数据请求很可能达不到服务器。主机内存和cpu的处理能力也是有限的,超大批量的数据处理可能让电脑宕机。
第二:解决网站被竞争对手恶意刷流量的方法技巧
首先,我们打开自己网站的第三方统计工具,cnzz或者百度统计,查看异常流量的来路。刷的流量来路一般有三种情况:第一种情况是无来路的直接访问你网站首页或者指定网页的ip,这种情况会比较头疼;第二种情况是通过百度、谷歌或者360好搜等搜索引擎关键词来刷你网站,一般这种情况关键词都是比较固定的那几个,也比较容易处理;第三种情况是直接用一个网址作为来路,这种情况就更好处理了。
其次,要知道我们所用的网站是程序。例如,如果你用的是开源的php系统,比如织梦、帝国或者开源框架thinkphp之类的程序,那么都有一个入口文件index.php(现在应该没人用很早以前那种原生php的程序了吧)。接下来的步骤就是把下面的代码粘贴到你往后的入口文件index.php里面。
1、针对无来路的ip直接访问你网站首页或者指定网页的流量屏蔽过滤方法:
if(!$_SERVER[’HTTP_REFERER’]) //判断来路是否为空
{
header("Location: /error.html); //如果为空那么就跳转到错误页面
}
这种方法可能会误杀一些老访客,但是如果对方刷你刷得太厉害了那你也只能使用这种方法了。
2、针对通过百度、谷歌或者360好搜等搜索引擎关键词来刷你网站流量的屏蔽过滤方法:
private function getKeyword($str){ //百度的
$s = strpos($str,’wd=’);
if($s>-1){
$str = substr($str,$s+3);
$e = strpos($str,’&’);
if($e>-1){
$str = substr($str,0,$e);
}
$str = rawurldecode($str);
}
return $str;
}
$key = getKeyword($_SERVER[’HTTP_REFERER’]); //获取百度关键词
if($key == ’xxx’) //判断关键词是否为恶意刷流量的关键词
{
header("Location: /error.html); //如果是那么就跳转到错误页面
}
3、针对直接用一个网址作为来路的垃圾流量的处理方法:
if($_SERVER[’HTTP_REFERER’] == ’http://www.xxx.com/’ ) //判断来路是否为某个网址
{
header("Location: http://www.xxx.com/?p=反弹关键词"); //如果是那么就直接反弹回去,还可以带上警告的词,以其人之道还治其人之身,不知道对方统计工具收到这些词会是什么表情,哈哈!!
}