0
我想在我的網站上實現摘要式驗證。但是,我有一個加密用戶表的用戶表。我知道如果我使用基本身份驗證,我可以加密$ _SERVER ['PHP_AUTH_PW']。我們如何使用相同的方法進行摘要式身份驗證?在mysql中使用加密存儲密碼的摘要式驗證
我想在我的網站上實現摘要式驗證。但是,我有一個加密用戶表的用戶表。我知道如果我使用基本身份驗證,我可以加密$ _SERVER ['PHP_AUTH_PW']。我們如何使用相同的方法進行摘要式身份驗證?在mysql中使用加密存儲密碼的摘要式驗證
你在找這樣的嗎?
define('MY_REALM', 'THIS IS A SECURE FACILITY, AND I MEAN THAT UNIRONICALLY');
$valid = false;
if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) {
// Use your DB here; prepared statements are your friend:
$userData = $user->getByUsername($_SERVER['PHP_AUTH_USER']);
if (!empty($userData)) {
$valid = password_verify($_SERVER['PHP_AUTH_PW'], $userData['password_hash']);
}
}
if (!$valid) {
header('WWW-Authenticate: Basic realm="'.MY_REALM.'"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit;
}
對HTTP摘要認證方法沒有什麼好處。只需在您的網站上使用HTTPS並使用password_hash()
存儲密碼並使用password_verify()
來檢查它們。
http://php.net/manual/en/features.http-auth.php –
我需要一個在db中加密密碼的解決方法 – davidlee