问题简述
=================================
Discuz! 5.5 在应用20090817补丁后,出现如下错误:
- 无法新增广告
- 进入版块列表浏览主题时(forumdisplay.php),下面的快速回复中表情列表显示空白,顶部提示如下错误:
Warning: Invalid argument supplied for foreach() in H:\WebDev\Win2003_WWWROOT\bbsother\dz55\forumdisplay.php on line 82
- 后台更新缓存后故障暂时消失、但后台重新设置后,故障重现。
以上问题可能会导致某些新的攻击。
=================================
站长专区
=================================站长临时解决方法:Discuz! 5.5用户在应用了官方20090817补丁后,请重新打开include/cache.func.php,将以下代码:
- if(!preg_match("/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/", $key)) {
- continue;
- }
复制代码 修改为:
- if(!preg_match("/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/", $key) && !preg_match("/^_DCACHE\['[a-zA-Z0-9_]+\'\]$/",$key)) {
- continue;
- }
复制代码 然后用新的cache.func.php覆盖之。
最后用FTP重新删除论坛 forumdata/cache/ 目录里面的所有文件,让论坛自动重新生成即可。
问题解答:Q1:本修改和http://www.discuz.net/thread-1391381-1-1.html上的修改有什么不同?A1:本修改的判断理论上将更加严格。
Q2:“站长临时解决方法”给出的修改代码好像有一句多余的语句哦?怎么回事?A2:经复查,确实有一句多余语句:
此句为调试语句,在给出临时方案时由于疏忽,没有去掉而直接公布在此。
现重新修改,去掉该段调试语句。
请2009-8-25 19:37之前修改的站长,把以上调试语句去掉。
对此造成的不便表示歉意,并感谢热心站长的指出。
客户的discuz!遇到了同样的问题,在网上搜到上述文章。
阅读(1081) | 评论(0) | 转发(0) |