目前,在用户登录后,我只需使用以下 PHP 代码将用户的 ID 号存储在 cookie 中:
setcookie('userid', "$userid", time()+60*60*24*7*2, '/');
上面的代码设置了一个持续 2 周的 cookie,其中包含非私有的用户 ID 号(存储在变量 $userid 中)。它还允许用户保持登录状态 2 周。我知道这可能是设置 cookie 以指示用户已登录的最不安全的方法之一,因为人们可以简单地更改他或她的 cookie 参数并以他或她希望的任何用户身份登录。
因此,我如何设置一个 cookie 来完成我上面的 cookie 完成的所有事情,但又是安全的?
换句话说,对我来说,设置一个安全的 cookie 并至少允许我在用户会话期间识别用户的 ID 号的最佳方法是什么?我还希望 cookie 持续 2 周,这样用户就不必一直重新登录我的网站。