【发布时间】:2012-11-19 01:40:00
【问题描述】:
这是我设置会话变量的地方。
function validateUser()
{
session_regenerate_id (); //this is a security measure
$_SESSION['user'] = $_POST['username'];
$_SESSION['valid'] = 1;
$_SESSION['firstname'] = $firstname;
$_SESSION['lastname'] = $lastname;
}
这就是 print_r ($_SESSSION) 的回声。
Array ( [user] => aboshart [valid] => 1 [firstname] => [lastname] => )
如果我回显 $firstname 和 $lastname 我会得到正确的值。我做错了什么?
【问题讨论】:
-
$_SESSION 变量通常被认为是可信的,因为它是开发人员指定值是什么数据。您通过不清理或验证 $_POST['username'] 将 $_SESSION var 设置为未经清理的用户提供的 var 请在意外使用 $_SESSION['user'] 之前这样做,它可能会像在数据库查询中那样造成伤害。从您的 PHP 代码注释来看,我假设您想要一个安全的应用程序。
标签: php