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+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
php 强制下载文件实现代码
Oct 28 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
使用PHP函数scandir排除特定目录
Jun 12 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
PHP 自动加载类原理与用法实例分析
Apr 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
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
JS 树形递归实例代码
2010/05/18 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
JavaScript中清空数组的三种方法分享
2011/04/07 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
Python切片知识解析
2016/03/06 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
python 重命名轴索引的方法
2018/11/10 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
python asyncio 协程库的使用
2021/01/21 Python
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
成教自我鉴定
2013/10/27 职场文书
小学生检讨书大全
2014/02/06 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
委托书模板
2014/04/04 职场文书
个人安全生产承诺书
2014/05/22 职场文书
2014全年工作总结
2014/11/27 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
院系推荐意见
2015/06/05 职场文书