2016-03-07 108 views
1

我一直在阅读有关会话的内容,包括客户端和服务器端以及可能发生的几次攻击。我想知道什么是与届Web应用程序的会话处理

  • 竞争条件之间有两个请求,试图改变会话变量
  • 当会话ID的再生,会发生什么变化缓慢请求到以下问题的切实可行的解决方案即达到与旧会话ID

回答

0

服务器关于第一个问题,对于see here ASP.NET如何处理这一点 - “同步访问会话状态”:

如果其他页面试图同时访问会话状态会怎么样? 在这种情况下,当前请求可能最终处理不一致的 数据或不是最新的数据。为了避免这种情况,会话 状态模块实现了一个读写器锁定机制并对队列状态值进行队列化。具有会话状态写入权限 的页面将在会话上保持写入锁定,直到请求终止。

对于你的第二个问题,这将取决于你的代码在合适的点重新生成会话标识符。例如,要避免session fixation,最好在登录时重新生成会话标识符。此时,不应该对服务器进行其他缓慢的请求,因此这是发布新标识符的最佳时间。

在其他情况下,您的应用程序可能很适合短时间识别过期会话标识符,并将它们与新标识符关联,直到所有连接都关闭。

相关问题