【发布时间】:2012-09-07 12:55:32
【问题描述】:
目前我正在如下开始一个会话:
if ($hasher->CheckPassword($password, $hash)) { //$hash is the hash retrieved from the DB
$what = 'Authentication succeeded';
$_SESSION['username']=$_POST['username'];
header('Location: securedpage1.php');
} else {
$what = 'Authentication failed';
echo "Incorrect Password";
include 'login.php';
exit();
}
如您所见,我想知道$_SESSION['username']=$_POST['username']; 是否是开始会话的最佳方式,或者是否有更好的做法
感谢您的回复!
【问题讨论】:
-
我会检索用户的 ID 并将其存储在会话中。我希望我的会话数据被认为是理智的,有效的 ID 就是一个例子。
-
感谢您的回复,您能否解释一下我将如何检索用户 ID 并将其存储在会话中?
-
什么是“安全会话”,为什么您认为当前会话不安全?
-
不,我需要知道您的应用程序。我假设您有一个数据库后端,并为每个注册用户分配一个唯一的(通常是数字的)ID,这是一种常见的设置。如果您不使用 ID,那么用户名也可以,只要您确保它对应于实际用户即可。
-
请让消息只是说用户名/密码组合不正确(或类似的话)。否则黑客至少知道用户名是正确的。
标签: php mysql security session login