password_hash 仍然散列并存储一个未定义的变量
password_hash still hashes and stores an undefined variable
我有一个成功写入数据库的脚本。
但是,当我更改变量名称 $password1
或 $password9
或 $password34
并保存脚本时,该脚本仍然有效,并且数据库中出现一个新条目,其中填写了所有字段,包括密码字段。
$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
。我重新提交表格,它仍然有效。怎么会这样?
原因是它会创建一个哈希值,它只是不会存储与您要存储的实际密码关联的哈希值。
虽然设置了所有 error reporting,但会发出未定义变量的信号。
注意: password_hash()
仅散列密码,不显示任何类型的错误,这不是它的工作,它是错误处理服务器。
我有一个成功写入数据库的脚本。
但是,当我更改变量名称 $password1
或 $password9
或 $password34
并保存脚本时,该脚本仍然有效,并且数据库中出现一个新条目,其中填写了所有字段,包括密码字段。
$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
。我重新提交表格,它仍然有效。怎么会这样?
原因是它会创建一个哈希值,它只是不会存储与您要存储的实际密码关联的哈希值。
虽然设置了所有 error reporting,但会发出未定义变量的信号。
注意: password_hash()
仅散列密码,不显示任何类型的错误,这不是它的工作,它是错误处理服务器。