我应该如何在 session 中托管用户 ID?只是为了插入ID?我的意思是(例如):
$_SESSION['id'] = 1;
没有办法由用户自己更改它(作为 cookie..)?因为如果是的话,他可以换成任何id。
关于它的另一个问题 - 我如何检查用户是否登录(使用 session )?我创建了一个 session :
$_SESSION['is_logged_in'] = true;
同样,用户不能只创建一个名为“is_logged_in”且值为 true 的 session 吗?或者只是服务器可以控制服务器的值?
最佳答案
PHP 中的所有 session 变量都存储在服务器端。 客户端存储一个 cookie,该 cookie 引用应使用哪个 session ,然后服务器查找该 session 的值。 在您的 session 中存储 is_logged_in 以及用户 ID 是安全的。
您应该注意的是,如果另一个用户获得了另一个用户的 session cookie,他们将能够模仿该用户,直到 session 超时。一种简单的解决方案是将 session 链接到 IP。
关于php - session 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616265/