本文实例讲述了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程序设计有所帮助。