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