首先,我们打开自己网站的第三方统计工具,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=反弹关键词"); //如果是那么就直接反弹回去,还可以带上警告的词,以其人之道还治其人之身