php实现判断访问来路是否为搜索引擎机器人的方法
内容摘要
本文实例讲述了php实现判断访问来路是否为搜索引擎机器人的方法。分享给大家供大家参考。具体分析如下:
很多时候我们需要对网站访客来路进行识别,针对真实用户与搜索引擎作不
很多时候我们需要对网站访客来路进行识别,针对真实用户与搜索引擎作不
文章正文
本文实例讲述了php实现判断访问来路是否为搜索引擎机器人的方法。分享给大家供大家参考。具体分析如下:
很多时候我们需要对网站访客来路进行识别,针对真实用户与搜索引擎作不同动作实现,那么首先就需要判断是否为搜索引擎。
php判断方法非常简单,通过过滤$_SERVER['HTTP_USER_AGENT'] 参数即可进行识别,以下是摘录某开源程序的相关源码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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; } |
希望本文所述对大家的php程序设计有所帮助。
代码注释