【发布时间】:2019-05-13 11:24:55
【问题描述】:
BackGround 我制作了一个 webapp,用户需要登录才能使用 webapp 中的功能。
我想让它在 Session 方面相当安全(以避免让 Session 处于打开状态)。我知道默认情况下,当浏览器关闭时会话会被破坏(关闭所有 Chrome 标签页)。我还在注销按钮上添加了这段 PHP 代码来销毁它。
<?php
session_start();
unset($_SESSION['username']);
unset($_SESSION['password']);
session_destroy();
header('location: somelocation');
?>
我的问题是当用户只关闭应用程序所在的浏览器选项卡时,会话不会被破坏,他将能够重新打开它而无需再次登录。因此,如果用户打开了一个 YouTube(例如)选项卡并且他只关闭了我的应用程序所在的选项卡,则会话不会被破坏。有办法检测它并销毁会话吗? 我已经看过了: logout user when browser or tab is closed 和 destroy session when broswer tab closed 但他们没有回答我的问题。感谢您的建议。
【问题讨论】:
-
javascript it - 在窗口卸载 - 运行 php 脚本