我有一个脚本,它成功地写入数据库。然而,当我改变变量名 $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
. 我重新提交了表格,但它仍然有效。怎么会这样?
原因是它会创建一个哈希值,只是不会存储与你要存储的实际密码相关的哈希值。
拥有所有 报错 设置,但是,这将标志着一个未定义的变量。
请注意。 password_hash()
只对密码进行哈希处理,不显示任何类型的错误,这不是它的工作,是服务器的错误处理。