Posted on 2012/03/07 by phpsir 問題描述:
某客戶的ecshop后臺登陸后,顯示成功,但是自動退出到登陸界面。
問題解決:
因為 windows 系統(tǒng)不區(qū)分目錄大小寫,而php是區(qū)分大小寫的
那么 http://你的域名/admin/ 和 http://你的域名/Admin/ 就不一樣
如果你用后者登陸系統(tǒng),就會出現自動退出的情況
具體原因在 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;
}
}
更多信息請查看IT技術專欄