使用Windows服務器搭建ECSHOP網店的朋友,如果后臺URL中目錄大小寫和/data/config.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常量一致
新聞熱點
疑難解答