EcShop session 丢失 解决方案

前一段时间,有个客户说自己的ecshop网店出了状况,就是有时候登录的时候会自动退出。而且购物车也没规律的会清空。

刚开始一直找不到原因,到最后才知道了。他说的状况是由于像学校,公司一类的局域网。ip变化的原因造成的。

ECSHOP的SESSION采用IP生成用户唯一码,这样的话,多线接入的用户在路由自动切换时就会造成IP变化,这样,SESSION也就丢失了,与SESSION相关的登陆、购物车也就失效。

解决办法是当用户第一次登陆时,将用户的IP存入Cookie,或者在生成SESSION时,不取IP,而是在用户的机器存一个加密的Cookie。

解决办法只需要修改ECSHOP根目录下includes\cls_session.php 大概在82行,找到这个。

$this->_ip = real_ip();

修改为

[php]

if(isset($_COOKIE['real_ipd']) && !empty($_COOKIE['real_ipd'])){

$this->_ip = $_COOKIE['real_ipd'];

}else{

$this->_ip = real_ip();

setcookie("real_ipd", $this->_ip, time()+36000, "/");

}

[/php]

将用户的首次登陆IP存入Cookie,其它功能依然使用ECSHOP的SESSION。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,847评论 11 349
  • 背景在HTTP协议的定义中,采用了一种机制来记录客户端和服务器端交互的信息,这种机制被称为cookie,cooki...
    时芥蓝阅读 2,472评论 1 17
  • Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象...
    廖马儿阅读 2,360评论 2 38
  • 在网站使用nginx+php做负载均衡情况下,同一个IP访问同一个页面会被分配到不同的服务器上,如果session...
    dreamer_lk阅读 1,117评论 2 9
  • 作者:晚晴幽草轩www.jeffjade.com/2016/10/31/115-summary-of-cookie...
    饥人谷_Dylan阅读 1,268评论 0 51

友情链接更多精彩内容