一尘不染

为什么将会话存储在服务器上而不是Cookie中?

flask

我已经使用Flask一段时间了,我真的很喜欢这个框架。我无法理解的一件事是,在几乎所有其他地方,他们都在谈论将会话存储在服务器上,并将会话ID存储在客户端上,然后标识会话。但是,使用烧瓶后,我觉得没有必要这样做。以加密方式将会话另存为客户端cookie符合我的目的,而且似乎也很安全。唯一的原因是我无法为以下项加密会话密钥:

session['life'] = 'the great one'

会显示为

life='gfhjfkjdfa some encryption kj'

在客户端上保存的Cookie中。但是,由于它仍处于加密状态,这怎么回事?我敢肯定,这里的人比我知道的要多得多,所以请有人请澄清一下:-)


阅读 535

收藏
2020-04-07

共1个答案

一尘不染

即使你的数据已加密,用户仍然可以将其Cookie还原到以前的状态(除非你开始编码一次性ID等)

例如cookie表示用户有100个积分,用户花费了100个积分,他们得到了一个新的cookie,表示他们具有0个积分。然后,他们可以恢复以前的cookie(100个积分)。

根据你对Cookie进行加密的方式,用户也可以删除密钥,插入伪造的数据等。

2020-04-07