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();

在其前面增加代碼:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM