如何去除dede后台登陆页面的验证码
您好,跟版网团队很高兴为您解答:
1去除后台验证码一共有两种方法,第一种方法,找到/dede/loginphp这个文件,将如下代码去掉:
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ResetVdValue();
ShowMsg('验证码不正确!','loginphp',0,1000);
exit;
} else {
这里还有一个闭合标签”}“需要去掉,位置如下图:
2这样的话已经可以了,但是后台页面那个验证码还会显示,找到/dede/templets/loginhtm 去掉下面代码即可。
<phpif(preg_match("/6/",$safe_gdopen))
{
>
<dt>验证码:</dt>
<dd><input id="vdcode" type="text" name="validate" style="text-transform:uppercase;"/><img id="vdimgck" align="absmiddle" onClick="thissrc=thissrc+''" style="cursor: pointer;" alt="看不清?点击更换" src="/include/vdimgckphp"/>
<a href="#" onClick="changeAuthCode();">看不清? </a></dd>
<php
}
>
<dt> </dt>
3第二种方法:找到data/safe文件,打开,找到inc_safe_configphp此文件。看到如图代码,将里面的“6”,去掉,保存即可。(第二种方法没有试过,其实第二种方法比较简单)
希望我的回答能够帮到您。跟版网-专业织梦模板定制下载站。genbanorg你的版本是多少,解答如下:
方法一:(http://houdunwangcom/lessonhtml)
php 54没有session_register方法,所以需要在include/userloginclassphp中加入以下代码
functionsession_register(){
$args= func_get_args();
foreach($argsas$key){
$_SESSION[$key]=$GLOBALS[$key];
}
}
方法二:
由于php 54没有session_register方法。
找开include/userloginclassphp文件,查找以下内容:
@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->userID;
@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->userType;
@session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->userName;
@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
@session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 24, ‘/’);
PutCookie(‘DedeLoginTime’, time(), 3600 24, ‘/’);
替换成
global $admincachefile,$adminstyle;
if(empty($adminstyle)) $adminstyle = ‘dedecms’;
//@session_register($this->keepUserIDTag);
$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;
$_SESSION[$this->keepUserIDTag] = $this->userID;
//@session_register($this->keepUserTypeTag);
$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;
$_SESSION[$this->keepUserTypeTag] = $this->userType;
// @session_register($this->keepUserChannelTag);
$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
//@session_register($this->keepUserNameTag);
$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;
$_SESSION[$this->keepUserNameTag] = $this->userName;
//@session_register($this->keepUserPurviewTag);
$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
// @session_register($this->keepAdminStyleTag);
$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 24, ‘/’);
PutCookie(‘DedeLoginTime’, time(), 3600 24, ‘/’);
方法三:
文件夹权限问题
验证码无法显示和自动登出的原因是因为date文件夹和date下面的sessions文件夹的写入权限没有!
Sessions是记录(传送)登入信息的文件夹, 它无法生成文件, 自然就无法登陆而跳转回来。
解决办法如下:
修改date和date下面的sessions文件夹的权限,(可以尝试在FLASHFXP上修改,但可能会造成失败)
所以建议直接在主机的控制面板里面修改date和sessions的权限为777(writen)
方法四:
重新安装dedecms然后用数据库备份还原数据库
方法五(本人所用):
phpini配置文件中
sessionbug_compat_42 = 1
sessionbug_compat_warn = 1
这是php430以后才有的安全设置。出于安全的考虑php不建议你打开register_globals开关但若关闭了register_globals(默认)时,session变量将不被自动转换成全局变量此时传统的session变量注册方式session_register就失去意义了(session_register是把一个全局变量注册成session变量),因为访问session变量需要使用$_SESSION数组。因此只需直接操作$_SESSION数组就可以了,而无须再用session_register注册了。以免产生混乱开关sessionbug_compat_42 和 sessionbug_compat_warn 就是为了检查此类情况而设置的
更多问题到问题求助专区(http://bbshoudunwangcom/)
找到DEDE后台目录,也就是默认的/dede/loginphp在Dreamweaver8里面是第44行 找到以下代码
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen))
把上面的代码替换成以下代码
if( false )
然后直接保存就可以了这样后台登录的时候就可以不用输入验证码就可以登录了,下面我们再去掉后台验证码的以及提示
找到DEDE后台目录,也就是默认的/dede/templets/loginhtm在Dreamweaver8里面是第53 - 55行 找到以下代码
<li><span>验证码:</span> <input name="validate" type="text" id="vdcode" style='width:50px;text-transform:uppercase;' class="text" /> <img id="vdimgck" src="/include/vdimgckphp" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" onClick="thissrc=thissrc+''" /></li>
注释或者删除掉即可
DEDECMSv56后台验证码的步骤:
DEDECMSv56版本就不需要去手工去掉验证码了,官方更新了版本功能,可以在DEDE后台直接取消掉后台验证码了,
操纵方法如下:
1 登录DEDE后台Dede教程-598080707NET
2 系统 - 系统设置 - 验证安全设置 - 验证安全设置 - (取消勾选 - 后台登陆) - 然后点确定
这样DEDECMSv56的后台验证码就去掉了
用新的后台把原来的直接覆盖掉就可以了,或者把data/safe/inc_safe_configphp这个文件里面的$safe_gdopen = '1,2,3,4,5,6,7';把6去掉,后台登录就不用验证码了
0条评论