ECSHOP后台退出频率一两分钟就退出,总要要重新登录很麻烦,通过以下方法可以解决:
打开 include/lib_base.php
找到 real_ip()函数,在real_ip函数中添加红色部分代码:
将:
functionreal_ip() { static$realip= NULL; if($realip!== NULL) { return$realip; } if(isset($_SERVER)) { if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr= explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */ foreach($arrAS $ip) { $ip= trim($ip); if($ip!= 'unknown') { $realip= $ip; break; } } } elseif(isset($_SERVER['HTTP_CLIENT_IP'])) { $realip= $_SERVER['HTTP_CLIENT_IP']; } else { if(isset($_SERVER['REMOTE_ADDR'])) { $realip= $_SERVER['REMOTE_ADDR']; } else { $realip= '0.0.0.0'; } } } else { if(getenv('HTTP_X_FORWARDED_FOR')) { $realip= getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('HTTP_CLIENT_IP')) { $realip= getenv('HTTP_CLIENT_IP'); } else { $realip= getenv('REMOTE_ADDR'); } } preg_match("/[d.]{7,15}/", $realip, $onlineip); $realip= !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0'; return$realip; }
替换成:
functionreal_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)) { if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $arr= explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */ foreach($arrAS $ip) { $ip= trim($ip); if($ip!= 'unknown') { $realip= $ip; break; } } } elseif(isset($_SERVER['HTTP_CLIENT_IP'])) { $realip= $_SERVER['HTTP_CLIENT_IP']; } else { if(isset($_SERVER['REMOTE_ADDR'])) { $realip= $_SERVER['REMOTE_ADDR']; } else { $realip= '0.0.0.0'; } } } else { if(getenv('HTTP_X_FORWARDED_FOR')) { $realip= getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('HTTP_CLIENT_IP')) { $realip= getenv('HTTP_CLIENT_IP'); } else { $realip= getenv('REMOTE_ADDR'); } } 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; }