麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > PHP > 正文

PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結(jié)

2024-05-04 23:39:02
字體:
供稿:網(wǎng)友

這篇文章主要介紹了PHP判斷來訪是搜索引擎蜘蛛還是普通用戶的代碼小結(jié),多種方法總有一種適合你,防止搜索引擎蜘蛛拖死搜索引擎

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

 

 
  1. <?php 
  2. function checkrobot($useragent=''){ 
  3. static $kw_spiders = array('bot''crawl''spider' ,'slurp''sohu-search''lycos''robozilla'); 
  4. static $kw_browsers = array('msie''netscape''opera''konqueror''mozilla'); 
  5.  
  6. $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent); 
  7. if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false
  8. if(dstrpos($useragent, $kw_spiders)) return true
  9. return false
  10. function dstrpos($string, $arr, $returnvalue = false) { 
  11. if(empty($string)) return false
  12. foreach((array)$arr as $v) { 
  13. if(strpos($string, $v) !== false) { 
  14. $return = $returnvalue ? $v : true
  15. return $return
  16. return false
  17. if(checkrobot()){ 
  18. echo '機器人爬蟲'
  19. }else
  20. echo '人'
  21. ?> 

實際應(yīng)用中可以這樣判斷,直接不是搜索引擎才執(zhí)行操作

 

 
  1. <?php 
  2. if(!checkrobot()){ 
  3. //do something 
  4. ?> 

2、第二種方法:

使用PHP實現(xiàn)蜘蛛訪問日志統(tǒng)計

 

 
  1. $useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); 
  2.  
  3. if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';} 
  4. elseif (strpos($useragent,'mediapartners-google') !== false){$bot = 'Google Adsense';} 
  5. elseif (strpos($useragent,'baiduspider') !== false){$bot = 'Baidu';} 
  6. elseif (strpos($useragent,'sogou spider') !== false){$bot = 'Sogou';} 
  7. elseif (strpos($useragent,'sogou web') !== false){$bot = 'Sogou web';} 
  8. elseif (strpos($useragent,'sosospider') !== false){$bot = 'SOSO';} 
  9. elseif (strpos($useragent,'360spider') !== false){$bot = '360Spider';} 
  10. elseif (strpos($useragent,'yahoo') !== false){$bot = 'Yahoo';} 
  11. elseif (strpos($useragent,'msn') !== false){$bot = 'MSN';} 
  12. elseif (strpos($useragent,'msnbot') !== false){$bot = 'msnbot';} 
  13. elseif (strpos($useragent,'sohu') !== false){$bot = 'Sohu';} 
  14. elseif (strpos($useragent,'yodaoBot') !== false){$bot = 'Yodao';} 
  15. elseif (strpos($useragent,'twiceler') !== false){$bot = 'Twiceler';} 
  16. elseif (strpos($useragent,'ia_archiver') !== false){$bot = 'Alexa_';} 
  17. elseif (strpos($useragent,'iaarchiver') !== false){$bot = 'Alexa';} 
  18. elseif (strpos($useragent,'slurp') !== false){$bot = '雅虎';} 
  19. elseif (strpos($useragent,'bot') !== false){$bot = '其它蜘蛛';} 
  20. if(isset($bot)){ 
  21. $fp = @fopen('bot.txt','a'); 
  22. fwrite($fp,date('Y-m-d H:i:s')."/t".$_SERVER["REMOTE_ADDR"]."/t".$bot."/t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."/r/n"); 
  23. fclose($fp); 

第三種方法:

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

 

 
  1. function is_crawler() {  
  2. $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);  
  3. $spiders = array(  
  4. 'Googlebot'// Google 爬蟲  
  5. 'Baiduspider'// 百度爬蟲  
  6. 'Yahoo! Slurp'// 雅虎爬蟲  
  7. 'YodaoBot'// 有道爬蟲  
  8. 'msnbot' // Bing爬蟲  
  9. // 更多爬蟲關(guān)鍵字  
  10. );  
  11. foreach ($spiders as $spider) {  
  12. $spider = strtolower($spider);  
  13. if (strpos($userAgent, $spider) !== false) {  
  14. return true;  
  15. }  
  16. }  
  17. return false;  

下面的php代碼附帶了更多的蜘蛛標(biāo)識

 

 
  1. function isCrawler() {  
  2. echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']);  
  3. if (!empty($agent)) {  
  4. $spiderSite= array(  
  5. "TencentTraveler",  
  6. "Baiduspider+",  
  7. "BaiduGame",  
  8. "Googlebot",  
  9. "msnbot",  
  10. "Sosospider+",  
  11. "Sogou web spider",  
  12. "ia_archiver",  
  13. "Yahoo! Slurp",  
  14. "YoudaoBot",  
  15. "Yahoo Slurp",  
  16. "MSNBot",  
  17. "Java (Often spam bot)",  
  18. "BaiDuSpider",  
  19. "Voila",  
  20. "Yandex bot",  
  21. "BSpider",  
  22. "twiceler",  
  23. "Sogou Spider",  
  24. "Speedy Spider",  
  25. "Google AdSense",  
  26. "Heritrix",  
  27. "Python-urllib",  
  28. "Alexa (IA Archiver)",  
  29. "Ask",  
  30. "Exabot",  
  31. "Custo",  
  32. "OutfoxBot/YodaoBot",  
  33. "yacy",  
  34. "SurveyBot",  
  35. "legs",  
  36. "lwp-trivial",  
  37. "Nutch",  
  38. "StackRambler",  
  39. "The web archive (IA Archiver)",  
  40. "Perl tool",  
  41. "MJ12bot",  
  42. "Netcraft",  
  43. "MSIECrawler",  
  44. "WGet tools",  
  45. "larbin",  
  46. "Fish search",  
  47. );  
  48. foreach($spiderSite as $val) {  
  49. $str = strtolower($val);  
  50. if (strpos($agent, $str) !== false) {  
  51. return true;  
  52. }  
  53. }  
  54. else {  
  55. return false;  
  56. }  
  57. }  
  58. if (isCrawler()){  
  59. echo "你好蜘蛛精!";  
  60. }  
  61. else{  
  62. echo "你不是蜘蛛精??!";  

第四種方法:

 

 
  1. <?php 
  2. $flag = false
  3. $tmp = $_SERVER['HTTP_USER_AGENT']; 
  4. if(strpos($tmp, 'Googlebot') !== false){ 
  5. $flag = true
  6. else if(strpos($tmp, 'Baiduspider') >0){ 
  7. $flag = true
  8. else if(strpos($tmp, 'Yahoo! Slurp') !== false){ 
  9. $flag = true
  10. else if(strpos($tmp, 'msnbot') !== false){ 
  11. $flag = true
  12. else if(strpos($tmp, 'Sosospider') !== false){ 
  13. $flag = true
  14. else if(strpos($tmp, 'YodaoBot') !== false || strpos($tmp, 'OutfoxBot') !== false){ 
  15. $flag = true
  16. else if(strpos($tmp, 'Sogou web spider') !== false || strpos($tmp, 'Sogou Orion spider') !== false){ 
  17. $flag = true
  18. else if(strpos($tmp, 'fast-webcrawler') !== false){ 
  19. $flag = true
  20. else if(strpos($tmp, 'Gaisbot') !== false){ 
  21. $flag = true
  22. else if(strpos($tmp, 'ia_archiver') !== false){ 
  23. $flag = true
  24. else if(strpos($tmp, 'altavista') !== false){ 
  25. $flag = true
  26. else if(strpos($tmp, 'lycos_spider') !== false){ 
  27. $flag = true
  28. else if(strpos($tmp, 'Inktomi slurp') !== false){ 
  29. $flag = true
  30. if($flag == false){ 
  31. header("Location: http://www.companysz.com" . $_SERVER['REQUEST_URI']); 
  32. // 自動轉(zhuǎn)到http://www.companysz.com 對應(yīng)的網(wǎng)頁 
  33. // $_SERVER['REQUEST_URI'] 為域名后面的路徑 
  34. // 或換成header("Location: http://www.companysz.com/abc/d.php"); 
  35. exit(); 
  36. ?> 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产日韩免费观看 | 一级黄色av电影 | 国产精品亚洲一区二区三区久久 | 精品一区二区中文字幕 | 国产色91 | 黄色毛片免费看 | 久草在线视频网 | 精品国产91久久久久久久 | 极品xxxx欧美一区二区 | 污视频在线免费播放 | 国产亚洲精品综合一区91555 | 羞羞网站 | aa国产视频一区二区 | 7777网站| 中国av免费在线观看 | 久久国产成人精品国产成人亚洲 | 视频在线中文字幕 | 国产成人精品区一区二区不卡 | 亚洲午夜免费电影 | 欧美成人三级视频 | 黄色免费播放网站 | 欧美激情天堂 | 91久久国产综合久久91精品网站 | 中韩毛片 | 成人国产免费观看 | 农村少妇吞精夜夜爽视频 | 海外中文字幕在线观看 | 国产精品久久久久久久久久 | 一区二区久久久久草草 | 亚洲第一页中文字幕 | 羞羞视频免费网站男男 | 福利免费在线观看 | 一级毛片免费版 | 午夜视频国产 | 久久国产精品久久精品国产演员表 | 成人精品久久久 | 国产成人高潮免费观看精品 | 强伦女教师视频 | 国产午夜精品视频免费不卡69堂 | 一级大片久久 | 欧美成年人视频在线观看 |