关于ECSHOP后台无法登陆的问题

时间: 2011-09-21 / 分类: ecshop / 浏览次数: 5,610 views / 0个评论 发表评论

admin/includes/init.php 下305行:
strpos(preg_replace('/:\d+/', '', $_SERVER['HTTP_REFERER']), $admin_path) === false
这是由于局域网中IP没有直接指向,造成解析完域名之后,再通过内部IP访问数据。此时的$_SERVER['HTTP_REFERER']是带域名的,$admin_path 是带IP的,所以判断为true。
症结在includes/cls_ecshop.php 的get_domain()函数,在上面情况下,$_SERVER['HTTP_HOST'], $_SERVER['SERVER_NAME'], $_SERVER['SERVER_ADDR']都是IP地址,导致$admin_path也就是IP地址了。

如果有和我一样的情况,可以试着把get_domain()函数里写成这样

function get_domain()
{
        return $this->http() . '你的域名.com'
}

此方法经测试可行

发表评论

您的昵称 *

您的邮箱 *

您的网站