«

PHP判断是否蜘蛛访问代码

nciaer 发布于 阅读:110 开发技术


搞插件有时候需要判断是否是蜘蛛,所以记下来

function nciaer_xxx_checkrobot($useragent = '') {
    static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');
    static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');

    $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);
    if(nciaer_banner_strpos($useragent, $kw_spiders)) return true;
    if(strpos($useragent, 'http://') === false && nciaer_banner_strpos($useragent, $kw_browsers)) return false;
    return false;
}

function nciaer_xxx_strpos($string, $arr, $returnvalue = false) {
    if(empty($string)) return false;
    foreach((array)$arr as $v) {
        if(strpos($string, $v) !== false) {
            $return = $returnvalue ? $v : true;
            return $return;
        }
    }
    return false;
}

从dz代码里提炼出来的,所以需要2个函数,不过问题也不大。

蜘蛛 搜索引擎