discuz IS_ROBOT判断是否搜索引擎蜘蛛代码

  [复制链接] [添加相关主题]
godkings 发表于 2021-9-16 22:44:07
新版本的discuz x3.4和老版本的discuz x2.5有区别,判断是否搜索引擎蜘蛛,我们可以看到是IS_ROBOT这个函数来进行的,判断搜索引擎蜘蛛的定义函数IS_ROBOT在\source\function\function_core.php这个文件里面,新版本是这样写的:
  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(dstrpos($useragent, $kw_spiders)) return true;
  6.         if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
  7.         return false;
  8. }
复制代码


旧版本的discuz是这样写的:
  1. function getrobot() {
  2.         if(!defined('IS_ROBOT')) {
  3.                 $kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';
  4.                 $kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';
  5.                 if(!strexists($_SERVER['HTTP_USER_AGENT'], 'http://') && preg_match("/($kw_browsers)/i", $_SERVER['HTTP_USER_AGENT'])) {
  6.                         define('IS_ROBOT', FALSE);
  7.                 } elseif(preg_match("/($kw_spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {
  8.                         define('IS_ROBOT', TRUE);
  9.                 } else {
  10.                         define('IS_ROBOT', FALSE);
  11.                 }
  12.         }
  13.         return IS_ROBOT;
  14. }
复制代码


上一篇:discuz调用自定义jQuery与系统默认js文件冲突的解决方法
下一篇:zblog不同分类和详情页使用不同模板的方法

相关帖子

回复

使用道具 举报

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

本版积分规则

QQ| Archiver|小黑屋| 颠覆霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与颠覆霸主网无关。

禁止在颠覆霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2023-3-21 09:54 , Processed in 0.105892 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.