我已经使用了一段时间了,我真的很喜欢这个框架。我不了解的一件事是,在几乎所有其他地方,他们谈论将会话存储在服务器和客户端上的会话ID,然后将识别会话。但是,使用烧瓶后,我不需要这样做。在客户端密码上保存会话作为cookie在我的目的上也可以满足我的目的,而且似乎也很安全。唯一的是我无法加密EG的会话键:

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

会出现

life='gfhjfkjdfa some encryption kj'

在cookie中保存在客户端。但是,它仍然是加密的。我确定这里的人比我更了解事情,因此请求有人澄清:-)

有帮助吗?

解决方案

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

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

根据您如何加密cookie,用户也可以删除密钥,插入虚假数据等。

其他提示

如果需要在服务器上进行会话数据,则将其存储在服务器上是有意义的。它可以降低与客户端来回发送的数据。此外,cookie对它们可以存储的数据量有限制。

除了上面已经提到的观点

  1. 用户可以使用其浏览器设置禁用cookie。许多防病毒扫描仪还扫描和旗帜饼干是一种风险,因为这也可能导致用户计算机上不允许使用cookie。

  2. 即使在他的会话中间,用户也可以删除cookie。 (实际上,前几天,当我的PC扫描列出了跟踪cookie时,我无意间做到了……而我只是单击“清洁”,它们都消失了)。如果用户碰巧删除了cookie,则用户状态将丢失。

如果您使用cookie来管理整个状态,则始终取决于客户端环境及其设置。因此,您可能至少需要一个倒退机制,以防cookie被删除 /禁用等,以便您的应用程序正确工作。

Securecookie实施烧瓶使用 不加密值. 。唯一确保的是,如果不知道应用程序使用的秘密,用户就无法修改cookie。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top