我正在学习 Java EE HttpSession(在 Tomcat 中)。它说当我们关闭浏览器时,cookieJSessionID=12345
将被销毁(但在服务器端,会话对象仍然保留到其生命周期结束)。
假设我们将会话生命周期设置为一小时。有一种场景是用户重复以下动作:
访问 servlet(并且这个 servlet 调用
getSession()
)关闭浏览器(或清除 cookie)。
所以这种重复会导致大量无用的会话对象被创建出来,只有在它们的生命周期结束后才会被销毁。
在这种情况下,一些“黑客”将能够编写一个程序来利用我们的服务器(继续创建会话对象,直到我们用完 RAM)。这种情况在真实环境中是否可行?Java EE 是否采取任何措施来防止这种情况发生?