password_hash仍然会对一个未定义的变量进行哈希和存储。

问题描述 投票:0回答:1

我有一个脚本,它成功地写入数据库。然而,当我改变变量名 $password1$password9$password34 并保存脚本,脚本仍然可以工作,并且在DB中出现了一个新的条目,包括密码字段在内的所有字段都已填写。

$password0 = trim($_POST['password1']);
$hashed_passcode = password_hash($password4, PASSWORD_DEFAULT);
mysqli_stmt_bind_param($q, 'ssss', $first_name, $last_name, $email, $hashed_passcode);

上面是一个例子,我把变量改成了 $password0......当我对它进行哈希处理时,变量是 $password4. 我重新提交了表格,但它仍然有效。怎么会这样?

php password-hash
1个回答
4
投票

原因是它会创建一个哈希值,只是不会存储与你要存储的实际密码相关的哈希值。

拥有所有 报错 设置,但是,这将标志着一个未定义的变量。

请注意。 password_hash() 只对密码进行哈希处理,不显示任何类型的错误,这不是它的工作,是服务器的错误处理。

© www.soinside.com 2019 - 2024. All rights reserved.