蜘蛛劫持访客区分展示代码展示

未知 次数

蜘蛛劫持在黑帽seo中是十分常见的一种手法,简单的讲就是蜘蛛和访客看到的内容是不同的。最常见的其实是js全屏覆盖,之前的文章中也有具体的代码。今天讲一下蜘蛛判断劫持的操作和代码。
 
一、蜘蛛判断劫持
怎么判断是访客还是蜘蛛,然后区分对待,给予不同的网页代码。目前有两种,第一种是判断蜘蛛的ua。第二种是判断蜘蛛的IP段。
 
二、识别蜘蛛后区分展示
当服务器识别判断到是蜘蛛的时候,直接返回给蜘蛛优化过的内容。如果不是蜘蛛则返回客户广告页面。
 
三、蜘蛛劫持代码
<?php
$agent = strtolower($_SERVER['HTTP_USER_AGENT']);
$baiduspider = stripos($agent,'Baiduspider');
    if(stripos($agent,'baiduspider') >-1 || stripos($agent,'360Spider') >-1 || stripos($agent,'sogou')>-1 || stripos($agent,'yisouspider') >-1)  
else{
      header('Content-Type:text/html;charset=gbk');
      $url="广告页面示范https://www.186seo.com";
      $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书  
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 检查证书中是否设置域名
$r=curl_exec($ch);
      curl_close($ch);
      echo $r;
        exit;
}
?>
判断如果是百度蜘蛛 、360蜘蛛、搜狗蜘蛛、神马蜘蛛就返回给蜘蛛正常的源站内容,如果不是以上几种,返回给蜘蛛这个页面的内容。注意给客户看的页面的编码,如果编码出错会造成乱码。
 
四、蜘蛛ua汇总
 
百度: Baiduspider Baiduspider-render Baiduspider-video Baiduspider-news Baiduspider-mobile
 
360: 360Spider
 
搜狗: Sogou web spider Sogou inst spider Sogou spider2 Sogou blog Sogou Orion spider Sogou News Spider
 
必应: bingbot
 
SOSO: Sosospider
 
雅虎: Yahoo! Slurp China Yahoo! Slurp
 
神马: YisouSpider
 
谷歌: GoogleBot Googlebot-Mobile