2013-05-03 128 views
1

开始学习Python的Flask网络应用程序框架,仍在学习曲线中,所以请耐心等待。Flask客户端会话

我在想安全的Web应用程序的客户端会话有多合适。从它似乎有一些严重的问题:

  • 因为所有的会话变量被序列化并在cookie中应该小心他们店里有多少数据进行编码,以保持HTTP数据的大小来回合理的尺寸。
  • 我不确定相同的键/值集是否具有相同的序列化值,但是如果我要在一个会话中获取并存储cookie值,我不能在同一个会话中提供相同的值(尽管已加密)在另一次,并使服务器相信这些是真正的会话变量值?一天内允许用户做什么并不意味着另一天就可以有同样的事情。如果这些会话变量值必须始终保证安全,那么将它们保存在“缓存”中有什么好处呢?然后,他们起不了什么更多的目的不是让我们用漂亮的GET的URL(即,而不是丑陋的查询字符串某些参数)

所以,也许我要寻找的答案,是瓶客户端的限制会话,考虑可能的中间人攻击(当然是用于非安全http会话)或高级恶意用户,他们存储cookie值以便在稍后时间将其中继。

回答

1
  • 我不认为你不必担心大小,因为无论如何cookie不能存储超过4KB的数据。我非常怀疑你会轻而易举地接近任何地方。

  • 它与其他会话一样安全,因为您可以将其他浏览器的cookie作为其他浏览器并使其正常工作,就像您可以这样做一样。没有什么阻止它。但是,有一些解决方法可以解决此问题,您可以在时间限制后使其过期。例如,请参阅this question。它对这个问题有有用的答案。

如果您愿意,您可以随时使用database session。我确信还有其他的实现可以找到。

编辑:Here是其他一些。

+0

谢谢,你的意见让我看着正确的方向。 – Passiday 2013-05-03 21:39:18