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中的正规表达式(二)
Oct 09 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
php 文件上传实例代码
Apr 19 PHP
php通过function_exists检测函数是否存在的方法
Mar 18 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
PHP实现JS中escape与unescape的方法
Jul 11 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
windows 2008r2+php5.6.28环境搭建详细过程
Jun 18 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
BBS(php & mysql)完整版(七)
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP文件与目录操作示例
2016/12/24 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
javascript 对象定义方法 简单易学
2009/03/22 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
python实现清屏的方法
2015/04/30 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
python进程和线程用法知识点总结
2019/05/28 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
Python内置类型性能分析过程实例
2020/01/29 Python
python网络编程之五子棋游戏
2020/05/14 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
python中pyplot基础图标函数整理
2020/11/10 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
《颐和园》教学反思
2014/02/26 职场文书
中学生打架检讨书
2014/10/13 职场文书
2015年党员干部承诺书
2015/01/21 职场文书
检讨书范文500字
2015/01/28 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
一般纳税人申请报告
2015/05/18 职场文书
美甲店的创业计划书模板
2019/08/23 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python