同一个浏览器,一直都没关掉,两个不同的用户登录同一个网站,这个时候,使用session会不会导致数据混乱。
比方说:
用户A,B登录一个电商网站,假定选用session实现购物车
A将选定的商品放入购物车中,购物车中所有的商品编号以列表的形式(简单化假定)放在session中
然后A下线,B上线,因为浏览器未关闭,所以cookie中的sessionid没变,同时django-session表的内容也不会删掉,那B岂不是可以看到A操作的购物车了?可能还包括其他的信息。
有没有什么办法,当用户在同一个没关闭的浏览器上切换的时候,不会令session混乱呢?
我想到的只有用数据库来做购物车,但是不单单是购物车有这个问题,所有和session有关的操作不是都会遇到这个影响么?
另外提出一个极端的情况(这个是我的应用的情况):对同一个浏览器,A用户不需要下线,B用户就可以上线,比如仅仅用GET传入一个加密的参数就可以实现登陆,在来回输入不同的加密参数时就实现了切换。这种情况下,怎么实现又使用session,又不至于搞混?
我觉得应该没办法直接对request.session[session_key]和对客户端的cookies进行同步修改吧?