虫框 發表於 2023-6-20 00:00:00

ecshop 后台登陆自动退出的一种可能情况(目录大小写问题)

<p>
某客户的ecshop后台登陆后,显示成功,但是自动退出到登陆界面。 <br>
问题解决: <br>
因为 windows 系统不区分目录大小写,而php是区分大小写的 <br>
那么 http://你的域名/admin/ 和 http://你的域名/Admin/ 就不一样 <br><br>
如果你用后者登陆系统,就会出现自动退出的情况 <br>
具体原因在 admin/includes/init.php 里面代码决定, <br><br>
要求是 data/config.php 里面的 ADMIN_PATH 必须严格和你的登陆地址一致,包括大小写!!! <br><br>
 </p>
<div>

<p>
代码如下:</p>
</div>
<div id="phpcode3">
<br>
if ($_REQUEST['act'] != 'login' &amp;&amp; $_REQUEST['act'] != 'signin' &amp;&amp; <br>
$_REQUEST['act'] != 'forget_pwd' &amp;&amp; $_REQUEST['act'] != 'reset_pwd' &amp;&amp; $_REQUEST['act'] != 'check_order') <br>
{ <br>
$admin_path = preg_replace('/:\d+/', '', $ecs-&gt;url()) . ADMIN_PATH; <br>
if (!empty($_SERVER['HTTP_REFERER']) &amp;&amp; <br>
strpos(preg_replace('/:\d+/', '', $_SERVER['HTTP_REFERER']), $admin_path) === false) <br>
{ <br>
if (!empty($_REQUEST['is_ajax'])) <br>
{ <br>
make_json_error($_LANG['priv_error']); <br>
} <br>
else <br>
{ <br>
ecs_header("Location: privilege.php?act=login\n"); <br>
} <br>
exit; <br>
} <br>
} </div>
頁: [1]
查看完整版本: ecshop 后台登陆自动退出的一种可能情况(目录大小写问题)