dede后台去掉验证码还是不能登录

dede后台去掉验证码还是不能登录,第1张

dedecms后台验证有时间输入总是不对,有时候却不显示,而输入验证码无疑是一个麻烦的过程,那么我们怎么样来去除后台验证码,实现输入帐号密码直接登录呢?我来为大家介绍一下:

让人感到烦恼的情况出现了!!!

如果你的网站管理系统已经升级到了dede56以上版本,那么织梦管理后台验证码不显示这个情况也非常容易解决,在DedeV56新版中,统一将验证码的有效设置系统→[验证码安全设置]里,可以设置哪些地方启用验证码,哪些地方不启用。还可以设置验证码类型,比如数字,英文与单词。 但之前的版本在系统设置里只可以设置评论是否需要验证码,那么有没别的办法呢?

其实只要用心你就会发现,早后台参数里修改验证参数,其实就等于修改网站内部的一个文件,只是在后台操作的选项有限,没有提供更多的修改接口,其实很多东西只是官方觉得没什么必要修改,所以才没在后台提供修改的入口,那么我们不妨找到验证的配置文件进行修改,那么我们可操作的权限就很多了。在后台[验证码安全设置]里,说修改后的保存实际上是修改了data\safe\inc_safe_configphp 这个文件,这是个配置文件。

比如:$safe_gdopen = '1,2,3,5,6'; 这个就是系统哪些地方开启验证码。与[验证码安全设置]界面是一对一的关系。

所以,如果当我们管理后台想关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,只需要打开data\safe\inc_safe_configphp 将$safe_gdopen = '1,2,3,5,6'; 中的6删除即可,这样就去掉了织梦管理后台验证码,也就不必去进行繁琐的设置。

造成HTTP-500错误,可能存在的原因

1、运行的用户数过多,对服务器造成的压力过大,服务器无法响应,则报HTTP500错误。减小用户数或者场景持续时间,问题得到解决。

2、该做关联的地方没有去做关联,则报HTTP500错误。进行手工或者自动关联,问题得到解决。

3、录制时请求的页面、等,在回放的时候服务器找不到,则报HTTP500错误,若该页面无关紧要,则可以在脚本中注释掉,问题将会得到解决。例如:有验证码的情况下,尽管测试时已经屏蔽了,但是录制的时候提交了请求,但回放的时候不存在响应。

4、参数化时的取值有问题,则报HTTP500错误。可将参数化列表中的数值,拿到实际应用系统中进行测试,可排除问题。

5、更换了应用服务器(中间件的更换,如tomcat、websphere、jboss等),还是利用原先录制的脚本去运行,则很可能报HTTP500错误。因为各种应用服务器处理的机制不一样,所录制的脚本也不一样,解决办法只有重新录制脚本。

6、Windowsxp2 与ISS组件不兼容,则有可能导致HTTP500错误。对ISS组件进行调整后问题解决。

7、系统开发程序写的有问题,则报HTTP500错误。例如有些指针问题没有处理好的,有空指针情况的存在。修改程序后问题解决。

8、如果测试中所进行的操作涉及到数据库,如插入数据操作,若大数据量的情况下导致数据库中表空间已满,或者数据库连接池较小无法满足数据的存取等,都有可能导致HTTP500错误。调整数据库、修改连接池大小,问题解决。

你的版本是多少,解答如下:

方法一:(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后台验证码不显示解决方法,很多时候dedecms网站后台的验证码不显示,验证码不显示网站后台就没法登陆,常见的验证码后台不显示的情况有以下三种:

Dede后台验证码不显示情况一

Dede后台验证码不显示情况二

Dede后台验证码不显示情况三

那么以上三种方法我们应该如何解决织梦Dede后台验证码不显示?

通用解决方案---取消后台验证码功能

因为没有验证码 不能进后台 所以修改php文件源代码:

方法一:

打开dede/loginphp 找到如下代码

if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){

ResetVdValue();

ShowMsg('验证码不正确!','loginphp',0,1000);

exit;

}

第一行替换为 if(false){

好 问题解决 不输验证码后台直接进去

方法二

打开data/safe/incsafeconfigphp

把代码$safe_gdopen = '1,2,3,4,5,6,7'; 中的6,删除即可

Dede后台验证码不显示情况一分析

验证码需要GD库 请检查你的环境是否开启GD库

Dede后台验证码不显示情况二分析

验证码只显示背景 不显示字母

打开验证码生成文件 Include/vdimgckphp

找到

for($i=0;$i<$rndcodelen;$i++)

{

$bc = mt_rand(0, 1);

$rndstring[$i] = strtoupper($rndstring[$i]);

$c_fontColor = $fontColor[mt_rand(0,4)];

$y_pos = $i==0 4 : $i($font_size+2);

$c = mt_rand(0, 15);

@imagettftext($im, $font_size, $c, $y_pos, 19, $c_fontColor, $font_file, $rndstring[$i]);

$lastc = $rndstring[$i];

}

Imagettftext()函数没有成功的执行导致了验证码只显示背景 不显示字母

具体原因为 字体文件路径不对解决方法

1确认include/data/fonts/ 里面存在字体文件 默认为ggbittf

2在for($i=0;$i<$rndcodelen;$i++) 上一行 加上如下代码:

$font_file= str_replace("\\","/",$font_file);

即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,

$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了 导致$font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误

加上$font_file= str_replace("\\","/",$font_file);即可解决

Dede后台验证码不显示情况三分析

Include/data/words/wordstxt 文件不存在

解决方案1 拷贝一个进去

2找到代码 'word_type' => (int)$safe_codetype, // 1:数字 2:英文 3:单词

换成'word_type' =>1 (或2) 既验证码为数字或英文

Dede后台验证码不显示 全部情况解决 如果原来可以显示后来取消验证码后再设置就无法显示,可以通过覆盖data与include目录试试。

为了方便大家解决问题,在此整理了三个经典的解决方案。

注:执行方案一和方案二的前提是支持GB库。

方案一:赋予sessions读、写、可执行的权限

修改根目录下/data/sessions/的sess_文件修改权限为777(命令:chmod 777 filename)。

方案二:将vdimgckphp替换法

替换前请将当前的vdimgckphp备份。找回相同版本的DEDE安装包,找到/include/vdimgckphp 文件,并用其替换当前站点的vdimgckphp文件。

方案三:去掉登陆验证码代码

如果上面的两种解决办法都解决不了,那就直接去掉验证码功能。是修改data\safe\inc_safe_configphp 配置文件。

方法:$safe_gdopen = ’1,2,3,5,6′; 这个就是系统哪些地方开启验证码。与[验证码安全设置]界面是一对一的关系。

所以,如果当我们管理后台想关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,只需要打开data\safe\inc_safe_configphp 将$safe_gdopen = ’1,2,3,5,6′; 中的6删除即可。

个人觉得要不要验证码都无所谓

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede后台去掉验证码还是不能登录

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情