网站开发 · 2025年4月24日

解决ecshop购物时自动退出的办法

 ecshop的session机制是一个不错的解决方案,但也有一些瑕疵,部分会员在操作时可能会出现登录后自动退出或商品无法加入购车或购物车自动清空等情况,这个一方面

如是是因为用代理上网,ip不断变化,可以参考的解决方法,另外也可以打开includes\cls_session.php找到

 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(ROOT_PATH . $ip . $session_id));
    }

就可以了