ECSHOP无法登录后台-URL中目录大小写问题

2016-09-07 22:02 来源:www.chinab4c.com 作者:ecshop专家

 使用Windows服务器搭建ECSHOP网店的朋友,如果后台URL中目录大小写和/data/config.php中ADMIN_PATH的路径声明不一致,虽能访问到登录页面,但输入用户名和密码却无法登录,有些朋友会误认为密码错误了,其实这是由于Windows目录不区分大小写,而在PHP是区分大小写的。

/admin/includes/init.php中管理员身份验证:

  1. if ($_REQUEST['act'] != 'login' && $_REQUEST['act'] != 'signin' && 
  2.     $_REQUEST['act'] != 'forget_pwd' && $_REQUEST['act'] != 'reset_pwd' && $_REQUEST['act'] != 'check_order') 
  3.     $admin_path = preg_replace('/:\\d+/', '', $ecs->url()) . ADMIN_PATH; 
  4.     if (!empty($_SERVER['HTTP_REFERER']) && 
  5.         strpos(preg_replace('/:\\d+/', '', $_SERVER['HTTP_REFERER']), $admin_path) === false) 
  6.     { 
  7.         if (!empty($_REQUEST['is_ajax'])) 
  8.         { 
  9.             make_json_error($_LANG['priv_error']); 
  10.         } 
  11.         else 
  12.         { 
  13.             ecs_header("Location: privilege.php?act=login\\n"); 
  14.         } 
  15.  
  16.         exit; 
  17.     } 

 解决办法:保证URL中目录大小写和/data/config.php中ADMIN_PATH常量一致。

(责任编辑:chinab4c)