啦啦啦,今天发现discuzx的一个真正意义上的BUG!!!
2011-11-03 10:53
204 查看
bug位置function_core.php第2114行的ipbanned函数,估计是涉及到discuzx的所有版本啦:
错误原因:preg_match的第一个参数只能接受[b]40066个字节的字符串,否则将出现“Warning: preg_match(): Compilation failed: regular expression is too large at offset 40066
in E:\www\test\test.php on line 6”,但对于一些大站来讲,这40066个字节是远远不够用的,因此我改如上。当然,一般的小站肯定是不会碰到这种问题的啦,呵呵...[/b]
function ipbanned($onlineip) { global $_G; if($_G['setting']['ipaccess'] && !ipaccess($onlineip, $_G['setting']['ipaccess'])) { return TRUE; } loadcache('ipbanned'); if(empty($_G['cache']['ipbanned'])) { return FALSE; } else { if($_G['cache']['ipbanned']['expiration'] < TIMESTAMP) { require_once libfile('function/cache'); updatecache('ipbanned'); } //modify by zhangwenbo at 2011-11-03 10:37 $onlineip = str_replace('.', '\\.', $onlineip); if(strpos($_G['cache']['ipbanned']['regexp'], $onlineip) === false) { return false; } return true; //return preg_match("/^(".$_G['cache']['ipbanned']['regexp'].")$/", $onlineip); } }
错误原因:preg_match的第一个参数只能接受[b]40066个字节的字符串,否则将出现“Warning: preg_match(): Compilation failed: regular expression is too large at offset 40066
in E:\www\test\test.php on line 6”,但对于一些大站来讲,这40066个字节是远远不够用的,因此我改如上。当然,一般的小站肯定是不会碰到这种问题的啦,呵呵...[/b]
相关文章推荐
- 今天发现一个bug,不知道是什么问题,printf的问题吗,还是什么。先记下!
- 今天发现了JBuilder 2006 一个BUG,关于资源文件重构后的BUG
- 今天发现一个hibernate的bug,或者说一个应该注意的地方比较合适
- 今天发现一个 vc 的大 bug
- 今天把自己的联想手机修了一下,居然还发现了一个小bug
- 今天第一天加入CSDN,发现CSDN网站的一个小BUG!
- 今天发现一个hibernate的bug,或者说一个应该注意的地方比较合适
- 今天发现了ibatis.net的一个bug
- 今天发现了vmware6.o ace的一个bug
- 今天发现一个Convert.ToDateTime的异常,算不算微软的bug呢?
- 今天无意中又发现一个记事本的 bug
- 今天发现了VISTA系统的一个BUG
- 今天发现Photoshop的一个bug
- 今天无意中又发现一个记事本的 bug
- 今天发现一个非常奇怪的VSIDE BUG,经过1个小时的研究解决
- 今天工作中发现一个问题,看算不算BUG,如何解释这种现象。
- 今天发现一个BUG
- 今天完成了一个真正意义上完整的gridview数据表操作
- 今天发现Eclipse cdt 使用scanf后的一个BUG
- 今天又发现IE的一个BUG!与Binary Behavior有关