亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從MySQL數據庫中獲取字符串以與PasswordVerify()配合使用?

如何從MySQL數據庫中獲取字符串以與PasswordVerify()配合使用?

PHP
元芳怎么了 2021-05-03 16:31:25
因此,我有一個存儲ID,用戶名和密碼的數據庫。密碼是使用php的password_hash()功能存儲的。該部分工作正常,并且已成功將其與哈希一起存儲在數據庫中?,F在我要使用該password_verify()功能。我似乎無法正確地從數據庫中獲取字符串值,以將其與該函數一起使用。$db由于我已經在其中存儲了一些東西,因此數據庫()的設置正確。數據庫中的列僅是ID,用戶名和密碼。$ username和$ password是用戶登錄時填寫的內容。<?php    if (count($errors) == 0) { // Everything correct, so verify pw        $sql = $db->query("SELECT password FROM users WHERE username='$username'");        if ($sql->num_rows > 0 ){            $hashedpass = $sql->fetch_array();            if (password_verify($password, $hashedpass['password'])); {                $msg = "Username and password are correct";            } else {                $msg = "Incorrect";        } else {            $msg = "Incorrect";    }?>
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

在這里獲取數據后,創建$hashedpass一個數組:

$hashedpass = $sql->fetch_array();

然后,您將$hashedpass['password']使用表中的列名與之進行比較:

password_verify($password, $hashedpass['password'])

此外

小鮑比Little Bobby)說,您的腳本有遭受SQL注入攻擊的危險。。即使轉義字符串也不安全


查看完整回答
反對 回復 2021-05-14
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

$hashedpass = $sql->fetch_array();

為您提供一個具有所選列名的關聯數組。

您應該通過選擇正確的元素來獲取值-

$hashedpass['password']


查看完整回答
反對 回復 2021-05-14
  • 2 回答
  • 0 關注
  • 229 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號