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 smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
调整PHP的性能
Oct 30 PHP
android上传图片到PHP的过程详解
Aug 03 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
php判断用户是否关注微信公众号
Jul 22 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
解决在laravel中leftjoin带条件查询没有返回右表为NULL的问题
Oct 15 PHP
PHP超全局变量实现原理及代码解析
Sep 01 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注入实例
2006/10/09 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
php curl发送请求实例方法
2019/08/01 PHP
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
2017/03/08 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python的常见命令注入威胁
2013/02/18 Python
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
python执行子进程实现进程间通信的方法
2015/06/02 Python
python中__call__内置函数用法实例
2015/06/04 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
Cotton On南非:澳洲时尚平价品牌
2018/06/28 全球购物
电大自我鉴定
2013/10/27 职场文书
租赁意向书范本
2014/04/01 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
V Rising 服务器搭建图文教程
2022/06/16 Servers