ecshop后台登录频繁自动退出问题终极解决方法集锦
Posted 菜鸟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ecshop后台登录频繁自动退出问题终极解决方法集锦相关的知识,希望对你有一定的参考价值。
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();
在其前面增加代码:
以上是关于ecshop后台登录频繁自动退出问题终极解决方法集锦的主要内容,如果未能解决你的问题,请参考以下文章
Ecshop模板开发(二十五):顶部导航注册登录退出等功能实现