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的面试题集
Nov 19 PHP
php编程实现获取excel文档内容的代码实例
Jun 28 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
win7计划任务定时执行PHP脚本设置图解
May 09 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
基于ThinkPHP实现批量删除
Dec 18 PHP
yii的入口文件index.php中为什么会有这两句
Aug 04 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
Sep 27 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
Javascript hasOwnProperty 方法 & in 关键字
2008/11/26 Javascript
用jquery实现的一个超级简单的下拉菜单
2014/05/18 Javascript
jQuery中:selected选择器用法实例
2015/01/04 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
2015/09/14 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
js实现图片360度旋转
2017/01/22 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python复制文件的方法实例详解
2015/05/22 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
python对一个数向上取整的实例方法
2020/06/18 Python
python如何快速生成时间戳
2020/07/21 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
python 基于wx实现音乐播放
2020/11/24 Python
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
日本7net购物网:书籍、漫画、杂志、DVD、游戏邮购
2017/02/17 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
2013/03/30 面试题
初中学生期末评语
2014/04/24 职场文书
绘画专业自荐信
2014/07/04 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
vue特效之翻牌动画
2022/04/20 Vue.js