使用 Windows server 构建 ECSHOP 在线朋友,如果后端 URL 目录,。/数据/配置 PHP ADMIN_PATH 路径表述不一致的,可以访问登录页面,但不能输入用户名和密码登录,有些朋友会认为密码错误,事实上这是由于 Windows 目录不区分大小写,但在 PHP 是区分大小写的。
- /admin/includes/init.php 中管理员身份验证:
- 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;
- }
- }
- 解决办法:保证 URL 中目录大小写和/data/config.php 中 ADMIN_PATH 常量一致
转载请注明:汇站网 » ECSHOP 无法登录后台-URL 中目录大小写问题