这是我第一次使用salted密码实现成员站点的试验,这些密码都存储在DB(MySQL)中。除了“登录会员”页面中的错误外,一切正常。
错误: 成员登录页面接受会员网站的任何条目,并由于某种原因通过我的检查$result === false
这是检查成员是否存在的代码,请让我知道问题所在:
$servername = 'localhost';
$username = 'root';
$pwd = '';
$dbname = 'lp001';
$connect = new mysqli($servername,$username,$pwd,$dbname);
if ($connect->connect_error){
die('connection failed, reason: '.$connect->connect_error);
}
$name = mysqli_real_escape_string($connect, $_POST['name']);
$password = mysqli_real_escape_string($connect, $_POST['password']);
$saltQuery = "SELECT salt FROM users WHERE name = '$name';";
$result = mysqli_query($connect, $saltQuery);
if ($result === false){
die(mysqli_error());
}
$row = mysqli_fetch_assoc($result);
$salt = $row['salt'];
$saltedPW = $password.$salt;
$hashedPW = hash('sha256', $saltedPW);
$sqlQuery = "SELECT * FROM users WHERE name = '$name' AND password = '$hashedPW'";
if (mysqli_query($connect, $sqlQuery)){
echo '<h1>Welcome to the member site '.$name.'</h1>';
}else{
echo 'error adding the query: '.$sql_q.'<br> Reason: '.mysqli_error($connect);
}
largeQ
LEATH