21便民:[知识] [切换城市]

...

帝国cms登陆后马上退出怎么解决?您还未登录的解决办法

最近帮朋友排查一个问题CeY21便民网

网站用的帝国cms6.6系统,二次开发的,后台登陆账号后立马退出登录,提示"您还未登录"CeY21便民网

 CeY21便民网

帝国cms登陆后立马退出的解决办法CeY21便民网

虽然已用帝国cms多年,但是此问题在之前从未出现过,网上搜遍了各种方法去解决也都未成功CeY21便民网

但是经过汇总:CeY21便民网

造成帝国cms登陆马上退出的原因大概有以下几种情况

 CeY21便民网

1.本地环境时间和服务器空间不符

因为是外贸站,服务器用的是美国时间,本地是北京时间,第一个想到会不会是这个问题,但是不管我将服务器换成北京时间,还是本地换成美国时间,都为成功CeY21便民网

同时查看了php.ini中date.timezone的配置以及调试了帝国原生配置文件CeY21便民网

1CeY21便民网
2
e/class/config.php文件CeY21便民网
@date_default_timezone_set("PRC");

都未能解决问题,此路不通换其他路CeY21便民网

2.权限问题

怀疑是cookie无法写入的问题删除e/data/adminlogin目录下的log临时文件;然后当登录的时候,专门查看了e/data/adminlogin下,确认没有新文件或者更新文件生成CeY21便民网

说明和文件权限有关系,在服务器上修改了文件权限为777后,发现有文件生成了,但是问题依旧,what?理论上说应该解决了?为什么还没有?CeY21便民网

 CeY21便民网

3.关闭登陆文件验证

 CeY21便民网

4.看看有没有设置ip登陆验证$do_ckhloginip

首先是关闭ip登陆验证是设置在程序中的,所以最终的解决方法就是,打开e/class/config.php文件,找到$do_ckhloginip=1,修改为$do_ckhloginip=0,这样文件验证就会被关闭。CeY21便民网

//后台是否验证登录IP,0为不验证,1为验证CeY21便民网

 CeY21便民网

5.关闭登陆文件验证$do_ckhloginfile

同样打开e/class/config.php中的CeY21便民网

 CeY21便民网

1CeY21便民网
2CeY21便民网
3CeY21便民网
4
$do_ckhloginfile=0;CeY21便民网
改为CeY21便民网
$do_ckhloginfile=1;CeY21便民网
//后台是否启用文件验证,0为验证,1为不验证

切记:此操作会降低后台的安全性。我不建议用此种方法CeY21便民网

而且此帝国cms是二次开发的,更改后仍然没有解决问题CeY21便民网

 CeY21便民网

6.登陆管理员账号,不要登陆低权限账号

一开始朋友发我的账号是低权限账号,在文件权限问题解决后一直还有问题,后来那边反馈说客户可以登录上了!,what?CeY21便民网

我赶忙测试了还是问题依旧,为什么客户可以登录上了,结果把管理员账号发来成功登录CeY21便民网

看了后台,说是二次开发的,后台系统说白了就是原生系统的缩减版,这个问题始料未及,因为原生的基本不会存在这一的情况,推测应该是二次开发的问题CeY21便民网

 CeY21便民网

后记:7. 更换PHP版本

后台登陆成功后发现有些系统有错误,如留言系统留言后会直接报错,经过排查发现CeY21便民网

1 在php5.3版本中,为了让编程更简洁,废弃了ereg_replace正则函数

这是明显的版本过高,因为帝国cms6.6是11年出来的,目前都7.5了,从PHP5.6版本降到了5.3以下,问题解决CeY21便民网

image.pngCeY21便民网

 CeY21便民网

所以最终,通过2和6解决了我的问题,因为每个场景不一样,如果您有幸看到这篇文章,可以试试其他方法CeY21便民网


(浏览:)