因此,我每当用户登录时都会存储令牌和用户ID。令牌存储在用户表和COOKIE中。
因此用户1登录并将以下详细信息存储在他的COOKIE和数据库中 计算机:
每当他登录不同的令牌时都会生成。
要对用户进行身份验证,每次访问我的网站时,都会检查令牌是否与存储在数据库中的特定cookie匹配。
但问题是不断检查数据库是浪费资源,但我们如何确保用户是他们所说的人?我不能只将他的ID存储在cookie中,因为他可以轻松更改ID并访问其他用户的信息。
谢谢!
答案 0 :(得分:2)
您可以使用$_SESSION
变量,例如:$_SESSION['id'] = $randomstring;
然后在每个页面的顶部检查变量是否设置:
<?php if(isset($_SESSION['id'])) $loggedin;
else $logout;
?>
答案 1 :(得分:0)
使用session_start()处理检查cookie的后勤工作并验证数据实际上是否属于该用户的会话。 您必须先启动会话才能使用$ _SESSION,但这是存储会话数据的一种方法。