我们有一个系统,用户登录到管理页面进行编辑,但是当他们登录时,只要用户名是正确的,他们可以用任何密码登录。下面的代码是在php标签带密码的PHP密码验证
include 'database_conn.php';
$sql = "SELECT passwordHash FROM nmc_users WHERE username = ?";
$stmt = mysqli_prepare($conn, $sql); // prepare the sql statement
mysqli_stmt_bind_param($stmt, "s", $username);
mysqli_stmt_execute($stmt); // execute the query
mysqli_stmt_bind_result($stmt, $passWDHash);
if (mysqli_stmt_fetch($stmt)) {
if (password_verify($passWD, $passWDHash)) {
echo "<p>Password correct!</p><a href='logout.php'>Click here to log off</a></p>\n";
} else {
echo "<p>Sorry we don't seem to have that username.</p>";
session_destroy();
}
if (isset($_SESSION['[url']))
$url = $_SESSION['url'];
else
$url = 'index.php';
header("location $url");
mysqli_stmt_close($stmt);
mysqli_close($conn);
}
?>
谁会知道如何使它,所以它只记录用户使用正确的用户名和密码。
密码在我们的数据库以及用户名。如果需要更多的代码,请说,我会回复相关的部分。
什么是这里的问题是什么呢? – Maximus2012
我的歉意我编辑了OP来包含它。 – spesh
你如何生成哈希密码? – Samsquanch