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