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 相关文章推荐
用Socket发送电子邮件(利用需要验证的SMTP服务器)
Oct 09 PHP
分页显示Oracle数据库记录的类之二
Oct 09 PHP
php array_intersect()函数使用代码
Jan 14 PHP
php设计模式 Factory(工厂模式)
Jun 26 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
PHP设置进度条的方法
Jul 08 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
Nov 16 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
Vue实现一个图片懒加载插件
2019/03/11 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
Python 创建空的list,以及append用法讲解
2018/05/04 Python
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
Python实现全排列的打印
2018/08/18 Python
Python简易版图书管理系统
2019/08/12 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
计算机网络专业求职信
2014/06/05 职场文书
销售员未完成销售业绩的检讨书
2014/10/12 职场文书
行政主管岗位职责
2015/02/03 职场文书
宾馆安全管理制度
2015/08/06 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python
MySQL数据库完全卸载的方法
2022/03/03 MySQL