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 相关文章推荐
一个简单实现多条件查询的例子
Oct 09 PHP
PHP APC的安装与使用详解
Jun 13 PHP
解析PHP中的正则表达式以及模式匹配
Jun 19 PHP
PHP 实现explort() 功能的详解
Jun 20 PHP
PHP操作MySQL事务实例
Nov 05 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
PHP多线程之内部多线程实例分析
Mar 09 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
Yii2.0建立公共方法简单示例
Jan 29 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
javascript正则匹配汉字、数字、字母、下划线
2014/04/10 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
JS实现网页时钟特效
2020/03/25 Javascript
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
Python 搭建Web站点之Web服务器与Web框架
2016/11/06 Python
Python从零开始创建区块链
2018/03/06 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
python 读取文件并替换字段的实例
2018/07/12 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
sklearn+python:线性回归案例
2020/02/24 Python
CK澳大利亚官网:Calvin Klein澳大利亚
2020/12/12 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
写给保洁员表扬信
2014/01/08 职场文书
优乐美广告词
2014/03/14 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
反邪教警示教育方案
2014/05/13 职场文书
广播节目策划方案
2014/05/23 职场文书
捐款感谢信
2015/01/20 职场文书
单位介绍信格式范文
2015/05/04 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
中学音乐课教学反思
2016/02/18 职场文书