在会话PHP中存储用户名


Storing username in session PHP?

我是PHP开发的新手。到目前为止,我在cookie中存储了一个散列(用户+密码),以保持用户登录。现在我发现了php会话。

当然,有人可以在不访问服务器的情况下修改存储的值吗?

$_SESSION['username'] = 'test@test.com';

否,在没有服务器访问的情况下无法直接修改会话(直到你留下漏洞进行黑客攻击)

会话是服务器(RAM或FileSystem)上的一个数组,通过cookie映射到用户。用户只在cookie中获取会话id。当用户返回时,PHP获取该会话id并恢复会话。

客户端永远不会更改变量$_SESSION。我还建议您不要在$_SESSION中保存密码,在$_COOKIE中保存更少的密码。您可以检查用户和密码是否正确,然后创建$_SESSION['userID']$_SESSION['user'],然后通过使用isset函数创建if语句来检查会话是否已创建,如下所示:

if(isset($_SESSION['user'])){
   // do something...
}