我是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...
}