开始学习 Python 的Flask web app 框架,还在学习曲线上,所以请多多包涵。
我想知道客户端会话对于安全 Web 应用程序的用途有多合适。从表面上看,有一些严重的问题:
- 由于所有会话变量都在 cookie 中进行了序列化和编码,因此应该注意它们在其中存储了多少数据,以便将来回传输的 http 数据的大小保持在合理的范围内。
- 我不确定相同的键/值集是否具有相同的序列化值,但是如果我要在一个会话中获取并存储一个 cookie 值,我不能在另一个会话中将相同的(尽管是加密的)值返回给另一个会话,并使服务器相信这些是真正的会话变量值?用户在一天内被允许做的事情并不意味着同样的事情在另一天被允许。如果这些会话变量值必须始终进行安全验证,那么将它们“保存在缓存中”有什么好处呢?然后,它们的用途只是让我们使用漂亮的 GET URL(即,而不是带有一些参数的丑陋查询字符串)
因此,也许我正在寻找的答案是 Flask 客户端会话的限制,考虑到可能的中间人攻击(当然,对于不安全的 http 会话)或存储 cookie 值的高级恶意用户以便稍后将它们转发回来。