一、ECMall系统登陆后频繁自动退出

问题描述:在公司登陆系统后,频繁自动退出,回到家里独立IP登陆又没有这个问题,检查后发现,是由于公司的动态IP,而ECMall商城系统的SEEION会检查IP,所以IP变化导致系统频繁自动退出。

解决方案:找到根目录下的:/includes/libraries/session.lib.php

1)、将其274行的

function gen_session_key($session_id)
{
static $ip = ”;
if ($ip == ”)
{
$ip = substr($this->_ip, 0, strrpos($this->_ip, ‘.’));
}
return sprintf(‘%08x’, crc32(!empty($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] . ROOT_PATH . $ip . $session_id : ROOT_PATH . $ip . $session_id));
}
修改为

function gen_session_key($session_id)
{
static $ip = ”;
/*if ($ip == ”)
{
$ip = substr($this->_ip, 0, strrpos($this->_ip, ‘.’));
}*/
return sprintf(‘%08x’, crc32(!empty($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] . ROOT_PATH . $ip . $session_id : ROOT_PATH . $ip . $session_id));
}
即注释掉判断IP的代码。


2)、将其599行的

function gen_session_key($session_id)
{
static $ip = ”;
if ($ip == ”)
{
$ip = substr($this->_ip, 0, strrpos($this->_ip, ‘.’));
}
return sprintf(‘%08x’, crc32(!empty($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] . ROOT_PATH . $ip . $session_id : ROOT_PATH . $ip . $session_id));
}
修改为

function gen_session_key($session_id)
{
static $ip = ”;
/*if ($ip == ”)
{
$ip = substr($this->_ip, 0, strrpos($this->_ip, ‘.’));
}*/
return sprintf(‘%08x’, crc32(!empty($_SERVER[‘HTTP_USER_AGENT’]) ? $_SERVER[‘HTTP_USER_AGENT’] . ROOT_PATH . $ip . $session_id : ROOT_PATH . $ip . $session_id));
}

即注释掉判断IP的代码。