1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > include vdimgck.php 织梦后台升级后验证码登录一直显示错误的解决方法

include vdimgck.php 织梦后台升级后验证码登录一直显示错误的解决方法

时间:2024-08-07 17:43:23

相关推荐

include vdimgck.php 织梦后台升级后验证码登录一直显示错误的解决方法

前几天,给网站后台系统做了一下升级,可是升级后,后台一直不能登录成功,一直提示验证码不正确,就是登不进去,这个问题一直困扰我很久,试了很多方法都不行啊,在网上有些说什么V5.7的不好,很垃圾,过几天就好,我们做网站的不可能一直等着它好吧,这样就很被动了。

针对这种情况,我也在网上找了各种织梦(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代码:

验证码:

或者是在“验证码安全设置”里,说修改后的保存实际上是修改了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文件夹转移过来,最后还原数据库。

马海祥博客点评:

由于DedeCMS频繁曝光安全漏洞,很多站长不懂程序,就直接使用dedecms后台已经集成了“在线升级”功能完成升级,对此,希望各位站长在升级的同时,也要注意文件的准确性,尤其是一些经过二次开发的织梦后台系统,更应该留意文件覆盖的情况。

本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于/CMS/1678.html,注明出处;否则,禁止转载;谢谢配合!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。