-1

我有一个登录的 PHP 站点。一旦该人登录(使用基于标准文件的会话),该人可以单击将其注销的注销页面。

问题是 - 访客通常不会那样做。他们只需关闭网络浏览器。

但是,下一个人可以出现,打开浏览器,然后就在第一个人的登录区域。

似乎这将是共享用户环境(办公室、网吧等)中的一个巨大的安全漏洞:)

我需要知道如何通过关闭窗口来“注销”该人。我知道

 'session.cookie_lifetime' 

变量设置为 0。

必须有一些解决方案。任何帮助将不胜感激。

4

1 回答 1

0

PHP 无法(孤立地)知道客户端何时关闭,因为那是客户端事件,而不是服务器事件。window.unload但是,您可以使用客户端上的 JS 将 AJAX 发送回服务器,使用事件(链接)让它知道会话已关闭。

您可能还想查看这个答案,它解释了会话清理中的一个潜在漏洞(不确定这是否仍然适用于更新的 PHP 版本)以及 session.gc_maxlifetime,您可能还需要对其进行调整。

于 2013-11-14T02:45:04.460 回答