织梦后台登陆验证码不显示

织梦后台登陆验证码不显示,第1张

楼主你好

首先可能是由于空间(服务器)没有加载gd库扩展导致的,因为验证码都是它完成创建的图形。

解决办法:

1、如果你是独立的服务器,可以自己操作,那么你可以去phpini中搜索extension=php_gd2dll,把它前面的;号去掉,重启IIS或者apache等其他服务器。如果你是租用的空间,那么可以找空间商,让他帮你开启。

2、如果无法达到方法1中的条件,可以尝试着用这种方法解决一下,打开织梦data文件夹下的safe文件夹,打开inc_safe_configphp文件,然后把$safe_gdopen = '1,2,3,4,5,6,7';改为$safe_gdopen = '1,2,3,4,5,7';这样你登陆后台就不用验证码了。

其次,也可能是你的后台登录文件出错了,重新下载与你网站对应编码的dedecms最新系统包,找到 /dede/templets/loginhtm 文件进行替换。其中 dede为你网站后台目录文件夹名称。

最后还有一种可能是 /include/vdimgckphp 文件损坏或者没有权限,替换文件或者修改权限即可。

综上,最后两种情况导致验证码不显示的可能性很小,很多朋友都是GD库的问题才导致验证码不显示,楼主找空间商协商即可。

希望可以帮到你。 林羽凡

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

方法一:(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/)

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

注:执行方案一和方案二的前提是支持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删除即可。

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

对止问题我自己已经解决了。(我是windows空间)

主要还是空间的题。

我当时遇到这个问题时,找遍了网上的资料,也拭了N遍都没有能解决我的问题。

我先也找过空间客服,可以那个客服也不在行,也可以说他根本就不懂。他说是我程序的问题。

我也尝试了好多次,从官网下载新的dedecms57-utf-8-sp1进行安装,但还是提示验证码错误,取消验证码之后,提示"成功登录,正在转向管理管理主页 "但是还是会返回到登陆页面。

之后我又重新换了一个客服,我把我的情况跟他说了,他从新给我开了一个空间,让我试试行不?我装上马上就行了,还是空间的问题。

所以我我的经历分享给大家,如果你在网上找了N多的次资都试过了,还是没有解决你的问题,那肯定是空间的问题。

不行就换个客服。

方法一:检查权限

检查 data/session 目录是否有写入权限(权限777),没有写入权限的话会导致 session 保存不成功,会提示验证码错误。(一般为此种情况

方法二:删除验证码

打开 dede/loginphp 文件

找到:

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

  ResetVdValue();

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

  exit;

  }

修改为: 

if(false){}

打开 dede/templets/loginhtm 文件,删除以下代码: 

<php

  if(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

  }

  >

织梦后台登陆不上提示验证码不正确

1密码明明正确的,却无法登陆后台管理

解答:

此外,不管是新人,还是phper,都要注意的是:用户名和密码只能由 [a-z A-Z - _ @ ] 这些字符组成,不能是中文或其它的符号。

2验证码明明正确的,就是提示验证码不正确,而无法登陆后台。

解答:我就清空了一下cookies和IE临时文件夹,就可以,如果不行,看下面。

通过FTP进入根目录

修改/data/safe下的inc_safe_configphp

把$safe_gdopen值中的6去掉在登陆后台的时候就不会出现验证码了

比如这样:$safe_gdopen = '1,2,3,4,5,7';

如还是不行,进不了后台~ 虽然没有了验证码 但是 提示 密码错误。。怎么输入都是提示密码错误

别人都说是没有写入权限

回答识别密码不用写入权限

因此,确实是你密码错误

最新发现的可以解决DEDE模板网站后台登陆“验证码不正确”的办法

今天帮客户做的一个织梦CMS网站又出现登录DED后台,提示;验证码不正确。

找了很多解决办法都弄不好,最后用下面的方法终于弄好了。<br />

下面给出解决办法:

首先,进入data/session目录,将这个目录下的除indexhtm外的其它session文件全部删除掉。然后再把本地IE浏览器的缓存清理了干净。

最后重新进入织梦网站后台首页终于是正常的了。这是我解决织梦dedecms模板网站后台登录提示验证码不正确的最快捷解决办法。

比较常见的就是目录的权限设置问题,导致后台文件权限问题,详细要参考《DEDE织梦目录权限安全设置说明文档重要

dede57验证码不正确解决办法,提供一种我遇到的情况,/data/sessions无写入权限,给足权限即可。

[其他问题] 各种dede织梦后台登陆验证码错误或不显示解决方法汇总:

各种dede织梦后台登陆验证码错误或不显示解决方法汇总!常见的就是验证码输入明明正确但却提示不正确,或者压根不显

示。说一下碰到这种情况的几种原因:

①dede版本程序升级操作不正确造成验证码提示不正确

②更好空间新的空间里phoini里gd库配置问题

③网站空间满了

④专对57版本转移data目录引起的(此种请查看:如何将dede织梦data目录正确迁移及引起的问题解决方法)

⑤程序内/data/session目录权限设置问题

⑥清除浏览器的cookies,重启浏览器;

⑦网速不行,换个时间,等网速快了再试!

⑧网站程序出错,重新上传安装;

好了,引起dede织梦后台登陆验证码错误或者不显示的原因找到了,那么现在我们来总结一下解决办法。

1、如果是57版本的转移data目录引起的。

请改一下/include/vdimgckphp这个文件 这个文件里也调用了DATA里的文件也可以改路径,把带有这个 //data 改成你现

在的路径。

2、查阅资料后得知,session没有清除,去data/session目录下,将除indexhtml以外文件全部删除就可以了。

3、如果还是不行,看session是否有写入权限,如果没有的话,给"internet来宾账户"添加写入权限,Linux的话,目录权

限设置为"777"。4、设置服务器的phpini:打开phpini 文件找到;sessionsave_path = "/tmp" 改写成sessioncookie_path = /把

extension=php_gd2dll;将他前面的分号;去掉。

5、检查你的空间是不是满了,测试的方法是你可以随便上传FTP空间里一个文件,会有提示,你可以联系空间服务商。

6、直接去掉验证码:打开 loginphp 找到:

if($validate=='' || $validate != $svali)

替换为:

if( false )

然后,在模板dede/templets/loginhtm里去掉以下验证码的具体HTML代码:

<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" />

</li>

或者是:在[验证码安全设置]里,说修改后的保存实际上是修改了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删除即可。不必去进行繁琐的设置。

如图

7、是修改include文件夹的vdimgckphp文件修改以下段落,

//Session保存路径

$sessSavePath = dirname(__FILE__)"//data/sessions/";

修改为//$sessSavePath = dirname(__FILE__)"//data/sessions/";

修改后,时管用时不管用,改回来也是这样的情况。如果把DEDE后台路径修改默认的DEDE文件夹,就不会出现验证码错误的

情况。最后如果以上方法均不适用的话,那么你就重新安装下对应版本的程序,然后将您的css及文件,模板文件,upload文

件夹转移过来。最后还原数据库。

只需要打开data\safe\inc_safe_configphp 将$safe_gdopen = '1,2,3,5,6'; 中的6删除即可,这样就去掉了织梦管理后台验证码,也就不必去进行繁琐的设置。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 织梦后台登陆验证码不显示

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情