在我的网站上,当用户单击注销时,我会这样做:
session.inavlidate();
在此之后,我将用户重定向到网站的索引页面。这个可以吗 ?我问这个是因为用户从网站注销后:
- 我仍然在浏览器中看到名为 JSESSIONID 的 cookie,它说将在会话结束时过期。
- 当新用户按下返回键时,他能够看到前一个用户的数据。
当您将用户重定向到索引页面时注销后,将创建一个新会话。检查注销前的 sessionId (JSESSIONID) 是否与注销后的 sessionId 不同。它们应该是不同的,在这种情况下,没有什么可担心的。
当用户单击 BACK 时,页面将从浏览器的缓存中显示。但是由于会话已经过期,他们通常不能做任何从无效会话中获取数据的事情。您可以通过禁用页面缓存来阻止用户在单击“返回”按钮时看到任何内容。这可以使用 META 标签来完成 -
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">