虚拟主机

ecshop后台有时候会自动登出,而且还会很频繁,频繁的自动登出就严重的影响到了后台使用。


 

修改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))

    {

        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))

        {

            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

 

            foreach ($arr AS $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;

}


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: