针对这种情况,我也在网上找了各种织梦(dedecms)后台登陆验证码错误或不显示解决的方法,常见的就是验证码输入明明正确但却提示不正确,或者压根不显示,说一下碰到这种情况的几种原因:
①、网站空间满了。
②、清除浏览器的cookies,重启浏览器。
③、织梦(dedecms)5.7版本转移data目录引起的。
④、程序内/data/session目录权限设置问题。
⑤、更好空间新的空间里php.ini里gd库配置问题。
⑥、织梦(dedecms)版本程序升级操作不正确造成验证码提示不正确。
⑦、网站程序出错,重新上传安装。
⑧、网速不行,换个时间,等网速快了再试。
好了,引起dede织梦后台登陆验证码错误或者不显示的原因找到了,那么现在我们来总结一下解决办法,我测试过的方法如下,提供给大家参考下:
1、检查网站空间是否满了?
有些朋友遇到的验证码错误可能是因为空间满了,所以,如果你的网站一直很正常,也没被攻击过,没做过任何改动,遇到验证码错误的问题,可以先检查是否空间满了。
测试的方法是你可以随便上传FTP空间里一个文件,会有提示,你可以联系空间服务商。
如果是空间满了,就需要你登录服务器或ftp删除一些无用的文件,或者增加一下网站空间。
如果网站空间仍然剩余很多,验证码仍然显示不正确的话,那你就找找其他原因了(具体可查看马海祥博客《织梦(dedecms)后台登录验证码不显示或不正常的解决方法》的相关介绍)。
2、删除缓存文件
还有一种情况,可能是由于网站长期的使用,致使大量的缓存文件所致,对此,你可以登录服务器或用ftp进入你的dedecms程序空间,把data/session目录下,将除index.html以外文件全部删除就可以了。
然后,本地ie浏览器清除缓存,重新登录dedecms后台,再试试看。
3、转移data目录引起的
如果是5.7版本的转移data目录引起的,请改一下/include/vdimgck.php这个文件,这个文件里也调用了DATA里的文件也可以改路径,把带有这个 /../data 改成你现在的路径(此种请查看马海祥博客《安全正确转移网站data目录文件的具体方法步骤》的相关介绍)。
4、session目录权限设置问题
如果你发现/data/session/文件保存不成功,原因可能是目录没有写权限。
对此,你就要看session是否有写入权限,如果没有的话,给"internet来宾账户"添加写入权限,Linux的话,目录权限设置为"777"。
5、服务器的php.ini配置问题
设置服务器的php.ini:打开php.ini文件找到
;session.save_path = "/tmp"
改写成:
session.cookie_path = /
把extension=php_gd2.dll;将他前面的分号去掉。
6、版本升级后的漏洞所致
对织梦(dedecms)后台升级之后,验证码可以显示,不管怎么登陆都是错误,在网上找了很久的攻略,发现都不能解决,最后,发现在我的\data文件夹下除了sessions文件夹外,还有一个sessions_8ab3842ff8的文件夹,而这个文件夹中照样记录着您的登陆信息。
唯一不同的是,sessions中的记录验证码会和后台登陆验证码同步,sessions_8ab3842ff8却不会记录验证码,那么我们就只要需要记录同步到sessions文件夹即可。
解决方法:
打开include文件夹下的common.inc.php文件,找到以下代码:
//Session保存路径
$enkey = substr(md5(substr($cfg_domain_cookie,0,5)),0,10);
$sessSavePath = DEDEDATA."/sessions_{$enkey}";
if ( !is_dir($sessSavePath) ) mkdir($sessSavePath);
if(is_writeable($sessSavePath) && is_readable($sessSavePath))
{
session_save_path($sessSavePath);
}
把
$sessSavePath = DEDEDATA."/sessions_{$enkey}";
改成:
$sessSavePath = DEDEDATA."/sessions";
保存即可!
再登陆,就不会出现验证码不正确了!
7、直接去掉验证码
如果觉得这些方法实在太麻烦,也可以取消掉验证码,具体方法如下:
实现的方法一共分为两步来进行,首先,打开login.php找到:
if($validate=='' || $validate != $svali)
替换为:
if( false )
然后,在模板dede/templets/login.htm里去掉以下验证码的具体HTML代码:
<li><span>验证码:</span>
<input name="validate" type="text" id="vdcode” style="width:50px;text-transform:uppercase;" />
<img id="vdimgck" src="../include/vdimgck.php" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" />
</li>
或者是在“验证码安全设置”里,说修改后的保存实际上是修改了data\safe\inc_safe_config.php这个文件,这是个配置文件。
比如:$safe_gdopen = '1,2,3,5,6'; 这个就是系统哪些地方开启验证码。与[验证码安全设置]界面是一对一的关系。
所以,如果当我们管理后台想关闭验证码(如果验证码无法正确输入,不支持GB库)的时候,只需要打开data\safe\inc_safe_config.php 将$safe_gdopen = '1,2,3,5,6'; 中的6删除即可,不必去进行繁琐的设置。
最后,如果以上方法均不适用的话,那么你就重新安装下对应版本的程序,然后将您的css及图片文件,模板文件,upload文件夹转移过来,最后还原数据库。
欢迎光临 吾知网 (http://5g99.com/bbs/) | Powered by Discuz! X3.2 |