Py学习  »  问与答

使用不同用户登录同一个浏览器时怎么区分session呢?

amghost • 11 年前 • 12100 次点击  

同一个浏览器,一直都没关掉,两个不同的用户登录同一个网站,这个时候,使用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进行同步修改吧?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/285
 
12100 次点击  
文章 [ 4 ]  |  最新文章 11 年前