使用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常量一致