【发布时间】:2018-06-30 09:20:39
【问题描述】:
我进入 php 并制作登录脚本一切正常,但是 我在signup.php中对Bcrypt中的密码进行了哈希处理,所以我输入密码时遇到问题使其匹配所以我研究了VERIFY_PASSWORD但是我如何在我自己的脚本上实现它? 澄清如果我只是从表中复制哈希作为密码它可以工作,但我希望它正常工作输入_POST密码, ani 输入是受欢迎的
登录.php
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
require 'database.php';
$username = $_POST["username"];
$password = $_POST["password"];
$sql = "SELECT * FROM table2 WHERE username = '".$username."' AND password = '$password'";
$result = $conn->query($sql);
$result->execute();
$count = $result->fetchcolumn();
var_dump($result);///if($result === FALSE) {
if($count == 1 ){
echo"login";
header("location:login4.php");
} else { var_dump($count);
echo"logout";
} // die(mysql_error()); // TODO: better error handling
///}
///while($row = mysql_fetch_array($result))
///{
/// echo $row['username'];
///}
///if(!$row = mysqli_fetch_assoc($result)) {
/// echo "dd";
//else {
// echo "logged in";
?>
<html>
<form action="login3.php" method="post">
<input type="text" name="username">
<input type="password" name="password">
<button type="submit" name="submit">login</button>
</html>
【问题讨论】:
-
您应该在进行数据库操作时对密码进行哈希处理 $password = bcrypt($_POST["password"]);
-
您不应该将其他散列算法与password_hash 和password_verify 组合混合使用。明确使用这两个。