如何防止会话

时间:2010-12-13 16:55:49

标签: php session

导航到Facebook社交网络时,我发现我可以打开2个帐户(Firefox中为1个,Internet Explorer中为1个),或者可能是多个帐户。知道Facebook政策只允许同时开放会话,这并不是那么好。

启动会话时,如何防止在另一个浏览器(Internet Explorer / Safari / Opera ...)中重新打开同一会话(考虑会话名称$_SESSION['user'])?

否则,我怎么知道(使用PHP)在所有浏览器中打开某个会话以阻止会话打开两次?

2 个答案:

答案 0 :(得分:2)

$token = hash('sha256', rand() . microtime() . $_SERVER['REMOTE_ADDR']) // rand as possible
$_SERVER['user'] = $token;

答案 1 :(得分:1)

如果在其他地方已经有开放会话,则阻止在新浏览器中打开新会话,而不是考虑使用户帐户的任何现有会话无效新登录发生。这将最大限度地减少用户的挫败感,并且易于实施。