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批量删除数据
Jan 18 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
php字符串替换函数substr_replace()用法实例
Mar 17 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
php模拟post提交请求调用接口示例解析
Aug 07 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
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
js string 转 int 注意的问题小结
2013/08/15 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
JavaScript学习笔记之ES6数组方法
2016/03/25 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
vue+element创建动态的form表单及动态生成表格的行和列
2019/05/20 Javascript
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
Python入门篇之列表和元组
2014/10/17 Python
答题辅助python代码实现
2018/01/16 Python
Python 实现文件读写、坐标寻址、查找替换功能
2019/09/11 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
说明书格式及范文
2014/05/07 职场文书
体育口号大全
2014/06/18 职场文书
试用期自我评价范文
2015/03/10 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
社会实践单位意见
2015/06/05 职场文书
装修公司管理制度
2015/08/05 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL