我应该如何在会话中托管用户的ID?只是为了插入id?我的意思是(例如):
$_SESSION['id'] = 1;
用户自己没有办法改变它(作为cookie ..)?因为如果是这样,他可以改为任何身份证。
关于它的另一个问题 - 如何检查用户是否已登录(使用会话)?我创建了一个会话:
$_SESSION['is_logged_in'] = true;
同样,用户不能只创建一个名为'is_logged_in'且其值为true的会话?或者只是服务器控制服务器的值?
答案 0 :(得分:14)
PHP中的所有会话变量都存储在服务器端。 客户端存储一个cookie,该cookie引用应该使用的会话,然后服务器查找会话的值。 在会话中存储is_logged_in以及用户ID是安全的。
您应该注意的是,如果其他用户获得了另一个用户的会话cookie,他们将能够模仿该用户,直到会话超时。一个简单的解决方案是将会话链接到IP。