$useremail = mysqli_real_escape_string($link, $_REQUEST['useremail']);$password = mysqli_real_escape_string($link, $_REQUEST['password']);$confirm_password = mysqli_real_escape_string($link, $_REQUEST['confirm_password']);$f_name = mysqli_real_escape_string($link, $_REQUEST['f_name']);$l_name = mysqli_real_escape_string($link, $_REQUEST['l_name']);$grade_level = mysqli_real_escape_string($link, $_REQUEST['grade_level']);// Attempt insert query execution$sql = "INSERT INTO Users (useremail, password, f_name, l_name, grade_level) VALUES ('$useremail', '$password', '$f_name', '$l_name', '$grade_level')";if ($_POST["password"] === $_POST["confirm_password"])......我试图将代码更改为包含HASH_PASSWORD,但我不认为自己做对了。
2 回答

青春有我
TA贡献1784条经验 获得超8个赞
首先,请:PDO
除了准备好的语句,请尝试使用。它是更新和更安全的。要对字符串进行哈希处理,可以使用以下代码:
$hashpassword = password_hash($yourpassword, PASSWORD_DEAULT);
要检查输入是否与哈希相同,可以使用:
password_verify($yourinput, $dbpassword);
这将返回一个布尔值:So true
orfalse

撒科打诨
TA贡献1934条经验 获得超2个赞
请使用PHP的内置函数password_hash()和password_verify()处理密码安全性。如果您使用的PHP版本低于5.5,则可以使用password_hash()兼容性包。在散列之前,请确保您不要转义密码或对密码使用任何其他清除机制。这样做会更改密码,并导致不必要的附加编码。
- 2 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消