使用 PDO 和密码哈希来增强代码安全
为了保护您的 PHP 代码,利用密码哈希技术至关重要。避免依赖 MD5 等缺乏安全性的易受攻击的方法。密码哈希通过生成唯一的、不可逆的值来保护密码,从而保护原始密码免遭泄露。
在您提供的代码中,密码哈希可以实现为如下:
登录:
$dbh = new PDO(...); $sql = "SELECT * FROM users WHERE username = :u AND password = :p"; $stmt = $dbh->prepare($sql); $stmt->bindParam(":u", $_POST['username']); $stmt->bindParam(":p", password_hash($_POST['password'], PASSWORD_DEFAULT)); $stmt->execute();
注册:
$dbh = new PDO(...); $username = $_POST["username"]; $email = $_POST["email"]; $password = password_hash($_POST["password"], PASSWORD_DEFAULT); $stmt = $dbh->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)"); $stmt->bindParam(1, $username); $stmt->bindParam(2, $email); $stmt->bindParam(3, $password); $stmt->execute();
注意:请记住使用“password-compat”或“phpass”等库来与早期 PHP 版本兼容5.5 之前。
以上是PDO 和密码哈希如何提高 PHP 应用程序安全性?的详细内容。更多信息请关注PHP中文网其他相关文章!