会话在多次登录时未失效时的影响



在 Web 应用程序中,当来自不同客户端(浏览器(的多次登录时,会话不会失效,会产生什么影响?

这实际上取决于您正在运行的Web应用程序的类型。如果你正在运行一个简单的网站,除了人们可以维护不同的登录实例之外,它可能绝对没有影响(想想谷歌和Facebook,他们在任何地方都这样做(。如果您正在运行MMO游戏或由一个帐户控制的独特角色,则不可能拥有同一角色的多个实例。在大多数情况下,不必担心多次登录。如果您有更具体的方案,这将对提供建议更有帮助。

非常广泛的问题,但一般来说,关注点分为两大类:

  1. 容量 :会话在概念上是包含成员的对象。单个会话对象占用应用程序服务器内存中的空间。根据您的服务器硬件和配置,您最终会遇到性能问题,您的服务器必须跟踪数百或数十万个会话对象。能力问题将因编写不当的申请而变得更加复杂;假设有一个 Web 应用程序,其中每个用户会话都启动一个数据库服务器连接。现在,将数据库连接数乘以 Web 应用程序中的活动会话数。现在,您的应用程序服务器可以调整或构建为支持数百万个活动会话;您可能无法对数据库服务器说同样的话。此方案适用于会话对象可能保持活动和持久连接的任何其他资源

  2. 安全性:这主要是应用程序设计的问题。大量生产应用选择性地使用 HTTPS,其中登录过程受 TLS 保护,但在用户登录后,整个用户体验是开放的。这包括使用 JSESSION_ID 与应用程序服务器的进一步通信。现在,会话 ID 处于活动状态的时间越长,就越容易被劫持。积极使会话无效是您可以在银行应用程序等中找到的东西。理智的银行应用程序没有理由使您的银行会话保持空闲时间超过 10 分钟

最新更新