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下对字符串的递增运算代码
Aug 21 PHP
PHP超级全局变量数组小结
Oct 04 PHP
php 解压rar文件及zip文件的方法
May 05 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
php两种无限分类方法实例
Apr 21 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
php之可变函数的实例详解
Sep 13 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
Dec 25 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
php模拟实现斗地主发牌
Apr 22 PHP
PHP引擎php.ini参数优化深入讲解
Mar 24 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
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP include_path设置技巧分享
2011/07/03 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
PHP生成推广海报的方法分享
2018/04/22 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
javascript网页关闭时提醒效果脚本
2008/10/22 Javascript
JS 文件大小判断的实现代码
2010/04/07 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
jQuery文件上传插件Uploadify使用指南
2014/06/05 Javascript
基于jQuery的图片不完全按比例自动缩小
2014/07/11 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
javascript版2048小游戏
2015/03/18 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
基于JS脚本语言的基础语法详解
2017/07/22 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
ptyhon实现sitemap生成示例
2014/03/30 Python
python中使用序列的方法
2015/08/03 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
2017/07/12 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
详解python中递归函数
2019/04/16 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
Order by的几种用法
2013/06/16 面试题
《桥》教学反思
2014/04/09 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
销售员岗位职责范本
2015/04/11 职场文书