天天看點

php判斷搜尋引擎來路,php判斷網站通路來路是否為搜尋引擎機器人的方法及代碼...

有時我們需要對網站訪客來路進行識别,針對真實使用者與搜尋引擎作不同動作實作,那麼首先就需要判斷是否為搜尋引擎。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;

}