在会话中存储什么

joh*_*eng 3 php

如果用户成功输入密码和用户名,并且您要设置会话,会话应包含哪些数据?我对此很困惑,我读过它应该是一个随机生成的字符串,我可以存储哈希的user_id + salt吗?我希望能够验证这确实是正确的用户:

表格:

<form method="POST" action="">
<input type="hidden" name="auth_token" value="<?php echo $form_token; ?>">
Username: <input type="text" name="username">
Password: <input type="password" name="password">
<input type="submit" name="action" value="Login">
</form>
Run Code Online (Sandbox Code Playgroud)

我想做类似以下的事情:

if form token in session = form_token var in form
  if username and password are correct
    set session hash(user_id + salt)
Run Code Online (Sandbox Code Playgroud)

编辑:忘记添加,它很可能是在共享主机上.

小智 7

您只需将用户ID存储在会话数组中即可.只有会话ID cookie被发送到浏览器,"外部世界"不知道会话本身存储的内容.存储某些东西以显示用户已通过身份验证也很方便.

切勿在任何地方存储明文密码.

$_SESSION["UserAuthenticated"] = true;
$_SESSION["UserID"] = $userID;
Run Code Online (Sandbox Code Playgroud)