DEDECMS 原先装过dedecms 卸载了,不过现在刚装好DEDECMS 可是一直提示 验证码错误 后台登不上去
楼主你好
你上面的logophp应该是写错了,dedecms有三个登录处理程序文件,前台的有 index_dophp 和 loginphp,不过l oginphp 没有处理数据,仅判断是否登录,登录的话跳转到会员中心首页。后台的有 loginphp 来处理。下面详细说明:
前台 index_dophp 文件。首先不论用户是在网站首页右侧的登录框登录还是会员中心的登录页面登录,两者都会把参数传到 /member/index_dophp 文件中,从登录模板的 action 中我们可以看到登录的时候会把表单数据传递到哪个文件来处理。如下图:
上图是位于/member/templets/loginhtm文件中的部分截图,这是我们前台登录的模板页面,可以看到<form>中将参数传给了index_dophp文件,具体传的参数是每个表单(input)的name值,比如用户名的表单是<input id="txtUsername" class="text login_from" type="text" name="userid"/> ,通过对name的判断知道这个表单提交的是用户名,也就是userid的值,数据库会有对应的userid的字段。比如你登录的用户名是:林羽凡,传过去(到index_dophp)的值就是“userid='林羽凡'”。
type="hidden"的是隐藏域,也就是不在页面上显示,但系统仍能传递参数。比如<input type="hidden" name="fmdo" value="login">就是传递 fmdo的值是 login,这样index_dophp就会知道这里传来的值是用于登录处理的,会有对应的函数(funtion)来处理。
dedecms的$dopost很诡异,通过这个参数的值判断是登入还是登出。
通过以上,我们还有一个登录按钮,类型是submit,也就是提交,这样表单form中的所有信息才会传递到index_dophp文件。
在/member/index_dophp文件240行就可以看到function login()了,也就是登录处理函数,这个时候这个函数就会把传递过来的参数统统接收,这里也是最容易进行sql注入的地方,如果对表单过滤不好,很容易把sql语句写到处理文件中,这里就不细说了。
index_dophp的大概处理过程是这样的,可参考下,不一定每一条都说到。
1、判断是否设置验证码,如果没有,进行用户名验证,如果有设置看对不对,不对的话提示跳转到indexphp文件,如果对,就进行用户名验证。
2、if(CheckUserID($userid,'',false)!='ok')就是通过CheckUserID()来检查用户是否合法,主要是指是不是系统禁用名,是不是长度不够等等,具体语法就不解释了。
3、看你密码是不是空的。
4、接下来就是最重要的,看你的用户名和密码匹配不匹配。$rs = $cfg_ml->CheckUser($userid,$pwd); dedecms这里的验证有点繁琐,还加入了UC机制,就不详细说了。
总结下:说得有点啰嗦,但希望楼主能明白大概的流程,后台的登录传参原理也一样,也是通过<input>把值传到 loginphp 文件,再有对应的函数处理。我们通过传参都会用post方法,也就是你在代码中看到的 method='POST',还有一种是 Get 方式,两种有区别,主要是 post 可传的字节比 get多。
希望可以帮到你。 林羽凡
步骤:
1,登陆支付宝,点击商家服务,获得合作者身份(PartnerID)
2,点击查询Pid,Key
交易安全校验码(Key)需要输入支付密码获得
请认真记录这两个信息
4、启用支付宝接口
在网站后台启用支付宝接口,或修改已经添加好的支付宝接口,在合作者身份(ParterID)和交易安全校验码(key)内分别输入刚才记录的信息,注意前后均不能有空格;根据与支付宝确认的接口类型选择对应类型,保存后即可完成支付宝接口的设置。
接口类型说明:
标准双接口
担保交易接口
即时到帐交易接口
此处的接口类型一定要与您在支付宝签约的接口类型完全一致才可认,具体请与支付宝确认。
注意:选择的接口类型与签约的类型必须完全一致。
1、空间满了。我遇到的验证码错误都是空间满了,如果也遇到验证码错误的问题,可以先检查是否空间满了。
2、用ftp进入你的dedecms程序空间,把data/session目录下除indexhtm外的其它session文件都删除,然后本地ie浏览器清除缓存。重新登录dedecms后台试试看。
3、可以取消掉验证码,具体方法如下:
实现的方法一共分为两步来进行:
打开 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;" />
<img id="vdimgck" src="/include/vdimgckphp" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" onclick="thissrc=thissrc+''" />
</li>
进入数据库,找到dede_admin项目,然后点击“浏览”按钮。
2 然后,我们可以看到后台用户名和密码。密码是MD5加密了的。如果知道破解MD5密码的,直接可以复制去破解,就能知道后台密码是多少了。
3 不知道破解的,嫌破解麻烦的,那么只能修改啦。点击下面的“修改”按钮。
4 然后找到“pwd”值。这个是后台密码,
5 最后输入MD5加密后的密码,比如我的修改为c3949ba59abbe56e057f ,登录密码就变成了123456,修改之后,点击执行按钮,就能成功的修改后台密码了。(dedecms 53以上版本密码为admin21232f297a57a5a743894a0e,dedecms 51版本密码为123456c3949ba59abbe56e057f )
拓展内容:找到数据库
首先,先找到数据库位置,不同的运营商,操作方法不一样。这里小编以西部数码作为演示。其他的运营商,基本原理差不多,如有不知道的可以咨询售后客服。登录账号,点击右上角的“管理中心”,然后点击“进入会员中心”。
2 然后选择“虚拟主机管理”,再点击忘记密码的程序主机后面的“管理”按钮。
3 然后再点击“数据库”。
4 最后,我们就能看到数据库管理按钮了,你的网站是什么编码的,就进入相对应的数据库后台管理。
楼主你好
首先可能是由于空间(服务器)没有加载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库的问题才导致验证码不显示,楼主找空间商协商即可。
希望可以帮到你。 林羽凡
网站模板库 » DEDECMS 原先装过dedecms 卸载了,不过现在刚装好DEDECMS 可是一直提示 验证码错误 后台登不上去
0条评论