ecshop后台闪退init.php,ecshop 后台登陆自动退出的一种可能情况(目录大小写问题)...

本文详细介绍了ECSHOP后台登录后因目录大小写问题导致自动退出的故障。在Windows系统中,由于不区分目录大小写,而PHP是区分的,因此/admin/和/Admin/被视为不同路径。当使用错误的大小写路径登录时,系统会自动退出。解决方法是确保data/config.php中的ADMIN_PATH与实际登录地址大小写完全一致,包括init.php中的相关判断。
摘要由CSDN通过智能技术生成

某客户的ecshop后台登陆后,显示成功,但是自动退出到登陆界面,经排查时因为目录大小写问题

Posted on 2012/03/07 by phpsir 问题描述:

某客户的ecshop后台登陆后,显示成功,但是自动退出到登陆界面。

问题解决:

因为 windows 系统不区分目录大小写,而php是区分大小写的

那么 http://你的域名/admin/ 和 http://你的域名/Admin/ 就不一样

如果你用后者登陆系统,就会出现自动退出的情况

具体原因在 admin/includes/init.php 里面代码决定,

要求是 data/config.php 里面的 ADMIN_PATH 必须严格和你的登陆地址一致,包括大小写!!!

复制代码代码如下:

if ($_REQUEST['act'] != 'login' && $_REQUEST['act'] != 'signin' &&

$_REQUEST['act'] != 'forget_pwd' && $_REQUEST['act'] != 'reset_pwd' && $_REQUEST['act'] != 'check_order')

{

$admin_path = preg_replace('/:\d+/', '', $ecs->url()) . ADMIN_PATH;

if (!empty($_SERVER['HTTP_REFERER']) &&

strpos(preg_replace('/:\d+/', '', $_SERVER['HTTP_REFERER']), $admin_path) === false)

{

if (!empty($_REQUEST['is_ajax']))

{

make_json_error($_LANG['priv_error']);

}

else

{

ecs_header("Location: privilege.php?act=login\n");

}

exit;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值