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


Posted in PHP onApril 15, 2015

本文实例讲述了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 相关文章推荐
PHP.MVC的模板标签系统(四)
Sep 05 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
PHP 解决session死锁的方法
Jun 20 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
php表单处理操作
Nov 16 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
Laravel框架实现多数据库连接操作详解
Jul 12 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
Apr 15 #PHP
php获取Google机器人访问足迹的方法
Apr 15 #PHP
分享自定义的几个PHP功能函数
Apr 15 #PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 #PHP
PHP也能干大事 随机函数
Apr 14 #PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 #PHP
微信公众平台之快递查询功能用法实例
Apr 14 #PHP
You might like
php 获取SWF动画截图示例代码
2014/02/10 PHP
解决在laravel中auth建立时候遇到的问题
2019/10/15 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
详谈jQuery中的一些正则匹配表达式
2017/03/08 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
vue-cli webpack 开发环境跨域详解
2017/05/18 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
[04:29]2016国际邀请赛中国区预选赛Ehome战队教练采访
2016/06/27 DOTA
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
Python遍历字典方式就实例详解
2019/12/28 Python
python圣诞树编写实例详解
2020/02/13 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
CSS3实现点击放大的动画实例代码
2017/02/27 HTML / CSS
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
自荐信格式技巧有哪些呢
2013/11/19 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
小学毕业感言500字
2014/02/28 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
作息时间调整通知
2015/04/22 职场文书
九年级语文教学反思
2016/03/03 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python