找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2804|回复: 0

[分享] Discuz!开发之判断蜘蛛(机器人)访问函数checkrobot()介绍

[复制链接]
发表于 2017-11-15 08:15:04 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
方法定义文件:\source\function\function_core.php
checkrobot()代码如下:
  1. function checkrobot($useragent = '') {  
  2.     static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');  
  3.     static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');  
  4.     $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);  
  5.     if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;  
  6.     if(dstrpos($useragent, $kw_spiders)) return true;  
  7.     return false;  
  8. }  
复制代码

函数说明:
本函数通过分析全局变量$_SERVER中的$_SERVER['HTTP_USER_AGENT']根据$useragent关键词判断该访问是否是蜘蛛(机器人),当然由于只是关键词匹配,所以还是存在一定的误判,有兴趣的可以对此方法进行改进;
使用方法举例:
  1. if(checkrobot()){  
  2.     //是蜘蛛(机器人),执行流程  
  3. }else{  
  4.     //不是是蜘蛛(机器人),执行流程  
  5. }  
复制代码


发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-25 06:11 , Processed in 0.038305 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表