TypechoJoeTheme

Dcr163的博客

统计

Ecshop 登录是频繁自动退出的解决办法

2016-12-02
/
0 评论
/
995 阅读
/
正在检测是否收录...
12/02

ecshop后台登录后,有时候会自动退出,而且还会很频繁,有的是后台操作两下就莫名退出了,有的是恰好三分钟左右登出。这让管理员很恼火,严重影响了后台使用。对于这一问题,网络上可给的解决方法各有不同、千篇一律的复制。首先这篇文章,总结囊括了网上已有的大部分解决方案;其次,也加入了博主自带的解决方法,供各位 ecshop 技术参考使用,总有一个适合你的网站

方法一:网络IP常自动切换的情况 
修改lib_base.php文件real_ip()函数,在real_ip函数中添加绿色部分代码:

function real_ip()
{
static $realip = NULL;
if ($realip !== NULL)
{
return $realip;
}

/*添加*/
if(isset($_cookie['real_ipd']) && !empty($_COOKIE['real_ipd'])){
$realip = $_COOKIE['real_ipd'];
return $realip;
}
/*添加*/

if (isset($_SERVER))
{
elseif (isset($_SERVER['HTTP_CLIENT_IP']))
{
$realip = $_SERVER['HTTP_CLIENT_IP'];
}
*****
中间省略N行
*****
preg_match("/[d.]{7,15}/", $realip, $onlineip);
$realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';

/*添加*/ setcookie("real_ipd", $realip, time()+36000, "/");  /*添加*/

return $realip;
}

方法二:ecshop全局设置session保存时间 
ecshop程序目录/data/config.php 
找到代码: 
$session = “1440″; 
改为你想要的数字,单位:秒

方法三:对于后台 登录 恰好3分钟退出可能有用 
includes/init.php 
api/init.php 
admin/includes/init.php 
wap/includes/init.php 
使用编辑工具打开上面的几个文件,找到下面的代码: 
@ini_set(‘session.cache_expire’, 180); 
可将值“180”修改为自己所理想的值,如: 
@ini_set(‘session.cache_expire’, 600); //10分钟

方法四:ecshop以IP地址来验证,而网络环境为双线网络

找到includes/cls_session.php,函数function gen_session_key($session_id)方法里,

删除掉代码: 
if ($ip == ”) 

$ip = substr($this->_ip, 0, strrpos($this->_ip, ‘.’)); 
}

方法五:ecshop后台完全无法保存session或cookie情况 
打开admin/privilege.php文件,验证登录信息elseif ($_REQUEST['act'] == ‘signin’)块,找到代码: 
//清除购物车中过期的数据 
clear_cart();

在其前面增加代码: 

$time = gmtime() + 3600 * 24 * 365;
setcookie('ECSCP[admin_id]', $row['user_id'], $time);
setcookie('ECSCP[admin_pass]', md5($row['password'] . $_CFG['hash_code']), $time);


好了,五种关于 ecshop后台登录频繁自动退出问题 的解决方法 ,应该可以解决99%的这种问题,如果不能解决你的问题,那你就是另外1%。


朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

https://www.dcr163.cn/408.html(转载时请注明本文出处及文章链接)

评论 (0)