我没有使用浏览器 cookie,因为我知道它们可以被操纵,我使用的是会话 cookie,但对我来说,问题是用户登录并在他/她重新启动计算机或浏览器时自动注销。
防止这种情况的最佳方法是什么或有类似“让我登录 [√]”之类的东西?我见过大多数具有此功能的网站。
提前非常感谢!
“我没有使用浏览器 cookie”和“我正在使用会话 cookie”
所以你正在使用cookies。试着打电话
session_set_cookie_params(time()+3600*24*365*5);
前session_start()
为避免混淆,会话 ID 存储在 cookie 中。您可以简单地延长会话 cookie 的生命周期。其他解决方案......棘手。
您必须为 cookie 设置过期时间。通常,当用户关闭浏览器时,会话 cookie 会被删除。有过期时间的cookies只有在cookie过期时才会被删除,用户清除浏览器缓存/卸载浏览器/等。
例如,在 PHP 中,您可以使用该setcookie('somename', 'somevalue', timeoutvalue)
方法获取更永久的 cookie,并使用 检索它们$_COOKIE['somename']
,而不是$_SESSION['somename'] = 'somevalue'
. 如果您想要更高的安全性,您也可以将登录状态保存到数据库中,并在用户每次访问您的网站时将其与 cookie 进行比较。这样你就可以防止有人篡改 cookie 来伪造他们的身份。