$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,但我不認(rèn)為自己做對(duì)了。
2 回答

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
首先,請(qǐng):PDO
除了準(zhǔn)備好的語(yǔ)句,請(qǐng)嘗試使用。它是更新和更安全的。要對(duì)字符串進(jìn)行哈希處理,可以使用以下代碼:
$hashpassword = password_hash($yourpassword, PASSWORD_DEAULT);
要檢查輸入是否與哈希相同,可以使用:
password_verify($yourinput, $dbpassword);
這將返回一個(gè)布爾值:So true
orfalse

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
請(qǐng)使用PHP的內(nèi)置函數(shù)password_hash()和password_verify()處理密碼安全性。如果您使用的PHP版本低于5.5,則可以使用password_hash()兼容性包。在散列之前,請(qǐng)確保您不要轉(zhuǎn)義密碼或?qū)γ艽a使用任何其他清除機(jī)制。這樣做會(huì)更改密碼,并導(dǎo)致不必要的附加編碼。
- 2 回答
- 0 關(guān)注
- 114 瀏覽
添加回答
舉報(bào)
0/150
提交
取消