偶然间发现我的一个织梦dedecms网站会员发布图片时需要"输入后台管理目录",这不是为难普通会员吗!
这也无形中给恶意用户爆破后台的机会
在百度搜了一个,这个问题不常见
汇总了一下出现类似的情况有三种:
1.dedecms在会员中心上传图片的时候,会有“提示:需输入后台管理目录才能登录”
2.dedeCMS上传附件提示"需输入后台管理目录才能登录"的解决办法
3.后台上传图片时,出现:“提示:提示:需输入后台管理目录才能登录 ”,接着一个input框,让“请输入后台管理目录名”
网上普遍给出的一个方法是:
(这个方法是去除了会员身份验证,会导致无需登录就可进入图片管理器,可以任意上传图片)
注释掉“/include/dialog/congig.php”中的以下代码:
if($cuserLogin->getUserID() <=0 ) { if(empty($adminDirHand)) { ShowMsg("<b>提示:需输入后台管理目录才能登录</b><br /><form>请输入后台管理目录名:<input type='hidden' name='gotopage' value='".urlencode($dedeNowurl)."' /><input type='text' name='adminDirHand' value='mgr' style='width:120px;' /><input style='width:80px;' type='submit' name='sbt' value='转入登录' /></form>", "javascript:;"); exit(); } $gurl = "../../{$adminDirHand}/login.php?gotopage=".urlencode($dedeNowurl); echo "<script language='javascript'>location='$gurl';</script>"; exit(); } }
但我们知道这种方法是肯定不可取的,鄙视那些不懂的乱发技术教程
乱发就算了,也不注明下原理和后果,这么大缺陷的方法干脆就不要发了,害人啊
最后给出正确方法:
将上面那段代码修改成
if($cuserLogin->getUserID() <=0 ) { if(empty($adminDirHand)) { ShowMsg("<b>登陆失效,转向主页</b><br />", $cfg_basehost); exit(); } $gurl = "../../{$adminDirHand}/login.php?gotopage=".urlencode($dedeNowurl); echo "<script language='javascript'>location='$gurl';</script>"; exit(); } }
希望对同样突发此类问题的童鞋们有帮助哈!
有问题底下留言,OK
感叹下今天天气真热!