在扩展 Web 应用程序时,使用进程内 session 状态是邪恶的(与集群配合不好,服务器回收时会崩溃)。
假设您只需要在 session 状态中保留少量信息,那么为此目的使用加密的 cookie 项而不是特定的状态服务器/数据库有什么缺点?
显然,使用 cookie 会产生少量网络开销,并且显然您在假设客户端浏览器/移动设备上启用了 cookie 的情况下进行操作。
通过方法您还能发现哪些其他陷阱?
对于简单、可扩展且强大的 session 来说,这是一个不错的选择吗?
最佳答案
对于简单、可扩展且强大的 session 来说,这是一种极好的方法。 当然,加密货币的质量很重要,而且这通常很难做到正确,但这是可能做到的。
我不同意其他一些海报:
任何可以针对加密的 cookie 值发起的重放攻击都可以针对存储为 cookie 的 session key 发起。如果这很重要,请使用 https。
如果清除 cookie,存储在状态服务器或数据库中的 session 数据也会丢失;当 session key 丢失时,将无法再检索 session 。
关于asp.net - 使用 Cookie 获取 Web session 状态 - 有哪些陷阱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/398948/