php实现判断访问来路是否为搜索引擎机器人的方法

yipeiwu_com7年前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;
}

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP实现的防止跨站和xss攻击代码【来自阿里云】

本文实例讲述了PHP实现的防止跨站和xss攻击代码。分享给大家供大家参考,具体如下: 文档说明: 1.将waf.php传到要包含的文件的目录 2.在页面中加入防护,有两种做法,根据情况二...

php简单判断两个字符串是否相等的方法

本文实例讲述了php简单判断两个字符串是否相等的方法。分享给大家供大家参考。具体实现方法如下: <?php function strcomp($str1,$str2)...

PHP实现文件下载断点续传详解

如果我们的网站提供文件下载的服务,那么通常我们都希望下载可以断点续传(Resumable Download),也就是说用户可以暂停下载,并在未来的某个时间从暂停处继续下载,而不必重新下载...

php快速排序原理与实现方法分析

本文实例讲述了php快速排序方法。分享给大家供大家参考,具体如下: <?php $n = array('13','14','55','10','54','2','79'...

解析ajax事件的调用顺序

jquery的ajax请求方法:复制代码 代码如下:$.ajax({          ...