首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 判斷訪客是否為搜尋引擎蜘蛛機器人

     編輯:PHP 綜合知識

透過分析 $_SERVER['HTTP_USER_AGENT'] 識別常見搜尋引擎爬蟲。

<?php
private function getRobot() {
    if (empty($_SERVER['HTTP_USER_AGENT'])) return false;
    $bots = [
        'googlebot'=>'google', 'mediapartners-google'=>'google',
        'baiduspider'=>'baidu', 'msnbot'=>'msn',
        'yodaobot'=>'yodao', 'youdaobot'=>'yodao',
        'yahoo! slurp'=>'yahoo', 'yahoo! slurp china'=>'yahoo',
        'iaskspider'=>'iask', 'sogou web spider'=>'sogou',
        'sogou push spider'=>'sogou', 'sosospider'=>'soso',
        'spider'=>'other', 'crawler'=>'other'
    ];
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    foreach ($bots as $key=>$val) if (strpos($ua, $key)!==false) return $val;
    return false;
}
public function isRobot() { return $this->getRobot() !== false; }
?>

應用場景:為蜘蛛輸出靜態頁、記錄抓取日誌、阻擋惡意爬蟲等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved