有时我们需要对网站访客来路进行识别,针对真实用户与搜索引擎作不同动作实现,那么首先就需要判断是否为搜索引擎。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;

}

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐