discuz函数checkrobot源码分析
1、static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');定义静态一维数组。各种爬虫。bot 'Googlebot'Google 爬虫spider 'Baiduspider'百度爬虫slurp 'Yahoo! Slurp'雅虎爬虫sohu-search 搜狐爬虫其他不知道是啥爬虫
2、static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');定义静态一维数组。浏览器种类。msie IE浏览器netscape网景浏览器,呵呵,这个很早之前挺有名,不过没用过。mozilla火狐浏览器,程序员开发常用。opera,konqueror没用过。谷歌chrome,苹果safari 咋没?
3、$useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);如果形参$useragent为空,$useragent =$_SERVER['HTTP_USER_AGENT']。strtolower是PHP原装函数将字符串转换成小写。
4、if(dstrpos($useragent, $kw_spiders)) return true;爬虫$kw_spiders数组值是$useragent一部分,返回true。
5、if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;$useragent不含有http://和浏览器$kw_browsers数组是$useragent一部分。返回false。
6、结论:if(dstrpos($useragent, $kw_spiders)) return true;有用,其他都是false,就没必要$kw_browsers了,多余代码。