我正在使用 php session 编写登录页面。问题是,登录后,如果我退出页面而不注销,下次我可以直接进入页面而不登录。我使用了一个包含用户名的 session 变量,并且我在每个页面上检查了 session 是否存在。我发现我可以在不登录的情况下进行操作的原因是因为 session 尚未取消设置。谁能告诉我该怎么做?我想要一个简单的解决方案,其中浏览器在选项卡关闭时自动注销或不允许用户在不注销的情况下退出??
最佳答案
浏览器仅在整个浏览器进程退出时才销毁 session cookie。没有可靠的方法来确定用户是否/何时关闭选项卡。您可以附加一个 onbeforeunload 处理程序,并希望能够对服务器进行 ajax 调用来表示选项卡已关闭,但它并不可靠。
如果用户在您的网站上打开了两个或更多表格怎么办?如果他们关闭一个选项卡,则即使用户完全打算继续使用您的网站,另一选项卡也会被有效注销。
另请参阅:
关于javascript - 页面无需登录验证即可登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299535/