创建一个在特定时间内将用户注销的网站

时间:2016-06-06 18:19:35

标签: php

在我这么说之前,制作一个不会退出用户的网站的最佳方法是什么 - 无论会话持续时间默认是什么?

我当前的代码使用的Cookie会在设定的持续时间后过期:

setcookie('user_id', sha1($username),time()+SOME_INTERVAL); //sha1 encrypts the username

但我不确定这个的安全性。

我会更乐意使用会话,根据需要重新生成。但我不确定如何确保会议不会提前停止。

这是我将要分享的一个软件包,所以我想在我的代码中做任何事情,而不是在网站的配置中。

1 个答案:

答案 0 :(得分:2)

我有一个想要让用户登录的网页,我将cookie设置为:

setcookie("login_token", $username . '|' . sha1($secret . $username . $password), time() + SOME_INTERVAL);

秘密阻止用户自己创建cookie;它还允许我们通过更改密钥使所有登录无效。并且连接密码意味着如果他们更改了他们的密码,他们的登录将被无效(因为他们可能已经更改了它,因为有人闯入他们的帐户,所以他们应该被阻止)。

当他们回来时,它会从|之前提取用户名,查找他们的密码,并检查SHA1是否与cookie匹配。