灰儿 发表于 2012-1-8 20:27:23

Discuz x2 后台删除用户最容易失误的危险的操作

一、Discuz x2 后台删除用户误操作造成的后果
       我的论坛前几天出现UID数值最小的几千名用户(最老注册的)的主题贴被删,但是别人回贴没有删除,不知什么原因,正常的管理操作如果删主题贴的话,其它楼层的回贴都会一并删除的。不应该是这样的情况。

被删之前截图:
http://www.sq01.cn/data/attachment/forum/201201/08/205026w74vy46y9v59zed9.jpg


被删之后截图(主题贴没了,其它楼层在):
http://www.sq01.cn/data/attachment/forum/201201/08/205029o13j3myyc15cp3xh.jpg


二、误操作后的后台访问记录

我怀疑是管理员在后台删除用户时误操作时造成的。于是我到后台看了一下之前的管理记录,在运行记录里发现有个管理员执行了如下的操作,代码如下,请高手帮忙看看!

后台运行记录=》系统记录=》后台访问截图:


GET={operation=clean; confirmed=确定; includepost=1; current=1000; pertask=1000; lastprocess=; uidarray=; chkall=on; deleteitem=allitem; }; POST={};
GET={operation=clean; confirmed=yes; includepost=yes; current=1000; pertask=1000; lastprocess=; username=; srchemail=; regdatebefore=; regdateafter=; postshigher=; postslower=; regip=; lastip=; lastvi ...

代码解释:
members   用户管理
operation=clean;         操作= 清除
operation=search;       操作= 搜索
deleteitem=allitem;      删除项目=所有项目(论坛里的的所有贴子、头像、评论、留言)
uidarray={0=119703; };   被删的用户UID号为117849
confirmed=确定    确定删除
current=1000      当前的删除过的数量
pertask=1000    每个执行一次任务删除多少数量
includepost=1   删除用户所有数据
chkall=on;    检查所有
deleteitem=comment;    删除评论

三、分析相关误操作的过程

可能是管理员使用后台“清理”用户功能时,让程序删除UID号119703的用户,在删除的过程中,可能是因为用户数据较多、网速较慢,或是服务器繁忙等原因造成网页长时间无响应或是没有自动跳转。于是此管理员又点了一次提交按钮,或是后退网页,在没有刷新此网页的情况下,再次提交此删除用户操作,而此时的用户其实已经被删除,造成再次提交上去的删除用户指令,并没有指定用户,程序在删除用户的时候,自动从UID数值最小的用户(最老注册的)按升序删除,所以等你反应过来的时候,已经干掉了几千个元老级的用户。欲哭无泪啊,还是请做好日常数据库备份吧。

--------------------------------------------------------------------------------------------------------------------------------------
相关链接:
论坛部分会员的主题贴被删,但别人在回帖没有删,什么原因?
http://www.sq01.cn/forum.php?mod=viewthread&tid=6634

x1.5的0428补丁存在重大操作bug,可导致全站数据覆灭
http://www.sq01.cn/forum.php?mod=viewthread&tid=6636

X2 删除用户的BUG 情况很严重,后果很杯具
http://www.sq01.cn/forum.php?mod=viewthread&tid=6635

页: [1]
查看完整版本: Discuz x2 后台删除用户最容易失误的危险的操作