使用 PDO 通过密码哈希来保护您的代码
为了增强代码的安全性,您应该考虑使用 PDO 实现密码哈希。与使用 MD5 相比,此技术提供了更高级别的保护。
在您的登录脚本中,您可以按如下方式合并密码哈希:
$sql = "SELECT * FROM users WHERE username = :u"; $query = $dbh->prepare($sql); // prepare $params = array(":u" => $_POST['username']); $query->execute($params); // execute $results = $query->fetchAll(); // then fetch if (count($results) > 0) { $firstrow = $results[0]; $providedPassword = $_POST['password']; $hashedPasswordFromDB = $firstrow['password']; if (password_verify($providedPassword, $hashedPasswordFromDB)) { // Valid login } else { // Invalid password } } else { // Invalid username }
在您的注册脚本中:
$dbh = new PDO(...); $username = $_POST["username"]; $email = $_POST["email"]; $password = $_POST["password"]; $hash = password_hash($password, PASSWORD_DEFAULT); $stmt = $dbh->prepare("insert into users set username=?, email=?, password=?"); $result = $stmt->execute([$username, $email, $hash]);
通过利用密码哈希,您可以有效地保护您的代码免受未经授权的访问和数据泄露。
以上是PDO 密码哈希如何提高代码的安全性?的详细内容。更多信息请关注PHP中文网其他相关文章!