我爱自学

 找回密码
 会员注册

QQ登录

只需一步,快速开始

Discuz判断搜索引擎蜘蛛访问教程

运营DZ站点时,可能会遇到需判断是不是搜索引擎蜘蛛爬虫访问的情况。本文我爱自学小编,为Discuz站长分享如何判断搜索引擎蜘蛛爬虫访问。
Discuz系统中原生集中了判断搜索引擎蜘蛛爬虫访问的函数checkrobot(),方法定义在文件:\source\function\function_core.php

判断搜索引擎蜘蛛访问教程

判断搜索引擎蜘蛛访问教程

checkrobot()具体代码如下:

function 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(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
        if(dstrpos($useragent, $kw_spiders)) return true;
        return false;
}

函数功能说明:
checkrobot()函数声明了一些常见的蜘蛛爬虫UserAgent,分析全局变量$_SERVER中的$_SERVER『'HTTP_USER_AGENT]根据$useragent关键词判断该访问是否是搜索引擎蜘蛛爬虫。

由于只是爬虫关键词匹配,可能会有一定的误判,有兴趣的DZ站长可以对此函数进行优化。

使用方法举例:
if(checkrobot()){
//访客是蜘蛛爬虫的情况,执行的流程
}
else{
//访客是自然访客情况下的执行流程
}

点击阅读更多内容!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

手机版|小黑屋|我爱自学 ( 蜀ICP备19015358号-3 )

GMT+8, 2024-4-27 04:44 , Processed in 0.070607 second(s), 57 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

本站大部分教程是网站原创教程,一部分教程为我爱自学(http://www.5izixue.com)编辑收集整理。

如果您需要转载我爱自学网站教程,请注明“资料来源:我爱自学(5izixue)”字样并注明本站网址。

编辑收集整理的教程版权归原作者所有,本站只提供网友交流学习使用,请勿用于商业用途,如果该文章有任何侵犯您权益的地方,请联系我们(569705694@qq.com),我们将在第一时间进行处理!谢谢您的支持!

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