嗨,我只是学习PHP,我开始考虑如何使登录,并使他们的安全。 我有一个问题,我的密码登录,我真的不知道我应该检查它是否在我的数据库中正确的密码。 我已经做到了,所以我在我的数据库中有一个密码密码,但现在我有点失落。我知道如何切盐,但没有把它放在我的代码中。PhP crypt密码检查不起作用
<?php
if(isset($_POST['namn'])) {
$username = $_POST['namn'];
$password = $_POST['pass'];
if($username&&$password) {
$connect = mysqli_connect("localhost", "fredrik", "carlsson") or die("counld not connect");
mysqli_select_db($connect, "securedb") or die("Could not connect to db");
$query = sprintf("SELECT * FROM users WHERE namn = '%s' AND password = '%s'", $username, $password);
$result = mysqli_query($connect, $query) or die("error connection");
if(mysqli_num_rows($result) !==0) {
while($row = mysqli_fetch_assoc($result)) {
$dbusername = $row['namn'];
$dbpassword = $row['password'];
}
if($username==$dbusername){
if(hash_equals($dbpassword, crypt($password, $dbpassword))) {
header("Location: admin.php");
$_SESSION['name'] = $dbusername;
}
}
}
}
}
?>
如果有人能够给我一些提示,会是一个令人费解的问题。