正在读取数据,页面载入中,请稍后...

织梦后台生成栏目出现 504 Gateway time-out 的解决办法

已经实锤,客户发现织梦系统BUG了,有强迫症的站长,都追求完美无瑕,织梦后台单独选择生成栏目、生成全部栏目文档的时候,服务器出现:服务器关闭链接,连接已重置,请求失败,响应超时等情况。经小千测试,确实是织梦系统出BUG了。好了,废话不多说,直接上教程。

漏洞复现

BUG链接:/dede/makehtml_list_action.php?typeid=1&maxpagesize=50&upnext=1
前置条件:新建栏目一,typeid=1是顶级栏目ID,且栏目一typeid=1下面有子栏目。
测试方法:登录后台,复制上面的链接打开,如果打开不能自动更新HTML,那就说明你的织梦系统此BUG且并未修复。
解决方案:忽悠客户,放弃更新子级栏目,一般站长都不会用这个,像我用好几年了,我都没发现,织梦有这个BUG啊。

登录你的后台,更新栏目HTML,更新文档HTML,单个更新栏目,单个更新文档,选择顶级栏目的时候,选更新子级栏目,无论是生成栏目,还是生成文档,这个链接响应超时。

修复方法

①、打开 /dede/templets/makehtml_list.htm 搜索

<input name="upnext" type="radio" class="np" value="1" checked='1' />

改为

<input name="upnext" type="radio" class="np" value="0" checked='1' />

完成第①步。

②、打开 /dede/makehtml_list_action.php 搜索

if (!isset($upnext)) $upnext = 1;

改为

if (!isset($upnext)) $upnext = 0;

完成第②步。

③、打开 /dede/makehtml_archives_action.php 搜索

makehtml_list_action.php?typeid=$typeid&uptype=all&maxpagesize=50&upnext=1

改为

makehtml_list_action.php?typeid=$typeid&uptype=all&maxpagesize=50&upnext=0

完成了。

其实,就是这个 upnext=1 参数出问题了,线上也没法调试,就算开启调试模式,直接显示链接已重置,对这个BUG很是头疼。但在本地调试,在本地环境测试,一点毛病都没有,更新不会超时,可以正常生成,家用电脑配置高,线上服务器的话,不知道啥原因,内存不够大,配置不够高,就会出现响应超时等情况。

后续问题

啊,有人说,小千啊,你改了这个参数,以后我生成栏目,单独生成栏目,选择更新子级栏目,和选择仅更新所选栏目,会不会出现生成不到位呢?其实都是可以正常生成HTML文档的,这点你不用担心,小千都是测试过了的。

写在最后,当然,可能是版本问题,是《织梦内容管理系统 DedeCMS V5.7 UTF8 SP2 春哥精简版下载》版本的问题。对于其它的版本,像织梦新版,和DeDeBIZ的新版,我并没有测试过,因为我一直用的是春哥精简版的。头比较铁,现在的我,依然还在用织梦,还用织梦做仿站,然后再把织梦版权去了,魔改成的自研CMS程序

本文结束

评论专区

发表评论

评论列表(无评论)