Session 如何在离开站点时安全地销毁会话?

Session 如何在离开站点时安全地销毁会话?,session,javascript-events,Session,Javascript Events,我正在寻找一种支持良好的方法来捕获离开页面的用户--通过键入新URL、单击书签等--来破坏会话,这样用户就无法使用“后退”按钮返回登录的站点 搜索结果显示了“body onbeforeunload=…”,这是一种IE ism,据推测其他当前浏览器都支持它,但有更好或更正式的浏览器和服务器端技术中立的HTML/JavaScript方法来实现这一点吗 谢谢 --马克在我看来,做到这一点的唯一方法就是在你的网站上用一条短绳拴住一条救生索。也就是说,对服务器执行ajax保持活动以保持会话处于活动状态,如

我正在寻找一种支持良好的方法来捕获离开页面的用户--通过键入新URL、单击书签等--来破坏会话,这样用户就无法使用“后退”按钮返回登录的站点

搜索结果显示了“body onbeforeunload=…”,这是一种IE ism,据推测其他当前浏览器都支持它,但有更好或更正式的浏览器和服务器端技术中立的HTML/JavaScript方法来实现这一点吗

谢谢


--马克

在我看来,做到这一点的唯一方法就是在你的网站上用一条短绳拴住一条救生索。也就是说,对服务器执行ajax保持活动以保持会话处于活动状态,如果它们浏览到别处,保持活动状态将消失,因此会话将过期。这是一种蛮力方法…

因为http是无状态的,所以这个建议确实是唯一的方法。您可以将会话cookie设置为在浏览会话结束时过期。它不会停止“后退”按钮,但如果浏览器关闭、打开并从历史记录中获取页面,它将阻止会话继续。