<nobr id="svlut"><progress id="svlut"></progress></nobr>

              1. <table id="svlut"></table>
                      野狼SEO團隊,純白帽SEO倡導者!17年專注網站優化服務,支持月付!? [點擊查看公司宣傳冊]
                      專注純白帽、整站正規優化
                      讓你排名上升,流量暴漲!
                      網站優化服務電話
                      0371-56789-390
                      詳細內容
                      當前位置:首頁 > 技術資料 > PHP程序開發 > 詳情

                      php判斷搜索引擎蜘蛛爬蟲還是人為訪問代碼的4種代碼匯總

                      發布時間:2019-05-15 來源:本站原創 作者:野狼SEO團隊 閱讀:1889

                      1、推薦的一種方法:php判斷搜索引擎蜘蛛爬蟲還是人為訪問代碼,摘自Discuz x3.2

                      <?php
                      function checkrobot($useragent=''){
                      static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');
                      static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');

                      $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);
                      if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
                      if(dstrpos($useragent, $kw_spiders)) return true;
                      return false;
                      }
                      function dstrpos($string, $arr, $returnvalue = false) {
                      if(empty($string)) return false;
                      foreach((array)$arr as $v) {
                      if(strpos($string, $v) !== false) {
                      $return = $returnvalue ? $v : true;
                      return $return;
                      }
                      }
                      return false;
                      }
                      if(checkrobot()){
                      echo '機器人爬蟲';
                      }else{
                      echo '人';
                      }
                      ?>
                      實際應用中可以這樣判斷,直接不是搜索引擎才執行操作

                      <?php
                      if(!checkrobot()){
                      //do something
                      }
                      ?>

                      2、第二種方法:


                      使用PHP實現蜘蛛訪問日志統計
                      $useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));

                       if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';}
                       elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';}
                       elseif (strpos($useragent,'baiduspider') !== false){$bot = 'Baidu';}
                       elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';}
                       elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';}
                       elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';}
                       elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';}
                       elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';}
                       elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';}
                       elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';}
                       elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';}
                       elseif (strpos($useragent,'yodaoBot') !== false){$bot = 'Yodao';}
                       elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';}
                       elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';}
                       elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';}
                       elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';}
                       elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';}
                       if(isset($bot)){
                         $fp = @fopen('bot.txt','a');
                         fwrite($fp,date('Y-m-d H:i:s')." ".$_SERVER["REMOTE_ADDR"]." ".$bot." ".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]." ");
                         fclose($fp);
                       }

                      第三種方法:


                      我們可以通過HTTP_USER_AGENT來判斷是否是蜘蛛,搜索引擎的蜘蛛都有自己的獨特標志,下面列取了一部分。

                      function is_crawler() { 
                        $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); 
                        $spiders = array( 
                          'Googlebot', // Google 爬蟲 
                          'Baiduspider', // 百度爬蟲 
                          'Yahoo! Slurp', // 雅虎爬蟲 
                          'YodaoBot', // 有道爬蟲 
                          'msnbot' // Bing爬蟲 
                          // 更多爬蟲關鍵字 
                        ); 
                        foreach ($spiders as $spider) { 
                          $spider = strtolower($spider); 
                          if (strpos($userAgent, $spider) !== false) { 
                            return true; 
                          } 
                        } 
                        return false; 
                      }
                      下面的php代碼附帶了更多的蜘蛛標識

                      function isCrawler() { 
                          echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']); 
                          if (!empty($agent)) { 
                              $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", 
                              ); 
                              foreach($spiderSite as $val) { 
                                  $str = strtolower($val); 
                                  if (strpos($agent, $str) !== false) { 
                                      return true; 
                                  } 
                              } 
                          } else { 
                              return false; 
                          } 

                      if (isCrawler()){ 
                          echo "你好蜘蛛精!"; 

                      else{ 
                         echo "你不是蜘蛛精啊!"; 

                      第四種方法:


                      <?php
                      $flag = false;
                      $tmp = $_SERVER['HTTP_USER_AGENT'];
                      if(strpos($tmp, 'Googlebot') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'Baiduspider') >0){
                        $flag = true;
                      } else if(strpos($tmp, 'Yahoo! Slurp') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'msnbot') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'Sosospider') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'fast-webcrawler') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'Gaisbot') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'ia_archiver') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'altavista') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'lycos_spider') !== false){
                        $flag = true;
                      } else if(strpos($tmp, 'Inktomi slurp') !== false){
                        $flag = true;
                      }
                      if($flag == false){
                        header("Location: //www.jb51.net" . $_SERVER['REQUEST_URI']);
                        // 自動轉到//www.jb51.net 對應的網頁
                        // $_SERVER['REQUEST_URI'] 為域名后面的路徑
                        // 或換成header("Location: //www.jb51.net/abc/d.php");
                        exit();
                      }
                      ?>

                      本文作者:野狼SEO團隊

                      十六年網站建設相關經驗
                      一站式為您提供網站相關服務

                      歡迎掃碼咨詢

                      訪客頭像訪 客142.4***
                      新評論

                      還沒有人評論,快來搶個沙發!

                      亚洲精品一区二区三区四区