网站首页学无止境PHP

php如何判断来访用户是正常用户还是蜘蛛

发布时间:2014-12-10 23:21:42编辑:songlin阅读(54)

      有时我们想在我们的网站中判断一下来访对象是普通用户还是搜索引擎,针对不同的情况执行一些特殊的操作,我们可以使用以下函数:
    1. //判断是否搜索引擎蜘蛛 
    2. function is_spider() { 
    3.     $agent = strtolower($_SERVER['HTTP_USER_AGENT']); 
    4.     if (!emptyempty($agent)) { 
    5.         $spiderSite = array("TencentTraveler""Baiduspider+""BaiduGame""Googlebot""msnbot""Sosospider+""Sogou web spider""ia_archiver""Yahoo! Slurp""YoudaoBot""Yahoo Slurp""MSNBot""Java (Often spam bot)""BaiDuSpider""Voila""Yandex bot""BSpider""twiceler""Sogou Spider""Speedy Spider""Google AdSense""Heritrix""Python-urllib""Alexa (IA Archiver)""Ask""Exabot""Custo""OutfoxBot/YodaoBot""yacy""SurveyBot""legs""lwp-trivial""Nutch""StackRambler""The web archive (IA Archiver)""Perl tool""MJ12bot""Netcraft""MSIECrawler""WGet tools""larbin""Fish search", ); 
    6.         foreach($spiderSite as $val) { 
    7.             $str = strtolower($val); 
    8.             if (strpos($agent$str) !== false) { 
    9.                 return true; 
    10.             } 
    11.         } 
    12.     } else { 
    13.         return false; 
    14.     } 

      使用方法
     

    1. <?php 
    2.     if(is_spider()){ 
    3.          echo '搜索引擎蜘蛛访问!';  
    4.     }else
    5.          echo '正常用户访问!'
    6.     } 
    7.  ?>