有時我們需要對網站訪客來路進行識别,針對真實使用者與搜尋引擎作不同動作實作,那麼首先就需要判斷是否為搜尋引擎。php判斷方法非常簡單,通過過濾$_SERVER['HTTP_USER_AGENT'] 參數即可進行識别,以下是摘錄某開源程式的相關源碼:
private function getRobot()
{
if (empty($_SERVER['HTTP_USER_AGENT']))
{
return false;
}
$searchEngineBot = array(
'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',
);
$spider = strtolower($_SERVER['HTTP_USER_AGENT']);
foreach ($searchEngineBot as $key => $value)
{
if (strpos($spider, $key)!== false)
{
return $value;
}
}
return false;
}
public function isRobot()
{
if($this->getRobot()!==false)
{
return true;
}
return false;
}