使用PHP,mysql和PDO访问数据库时使用哈希密码登录问题。 [英] Login problem with hash password using PHP, mysql and PDO for accessing database.
本文介绍了使用PHP,mysql和PDO访问数据库时使用哈希密码登录问题。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨!
我创建了一个带有哈希的登录表单,但是当我尝试登录时,即使输入了错误的密码也总是返回true。以下是我的代码。
<?php
session_start();
include(../ config / db_connection.php);
$ un = $ _ POST ['username'];
$ pw = $ _ POST ['password'];
$ password_hash = password_hash($ pw,PASSWORD_BCRYPT);
$ stmt = $ db-> prepare(从sys_user选择密码WHERE用户名=?AND密码=?);
$ stmt-> execute(array($ un,$ pw));
$ row_count = $ stmt-> rowCount();
if(password_verify($ pw,$ password_hash)){
$ _SESSION [username] = $ un;
echo正确;
}
else {
echouser:。 $取消。 <峰; br> 中;
echopass:。 $ password_hash。 <峰; br> 中;
echo用户名或密码错误;
}
?>
请帮帮我。提前谢谢。
我尝试过:
A很多操作我的代码。
解决方案
un =
_POST ['username'];
PW =
Hi!
I have created a login form with hashing but when I try to login it always return true even I input a wrong password. Below is my code.
<?php session_start(); include("../config/db_connection.php"); $un=$_POST['username']; $pw=$_POST['password']; $password_hash=password_hash($pw, PASSWORD_BCRYPT); $stmt = $db->prepare("SELECT password from sys_user WHERE username=? AND password=?"); $stmt->execute(array($un, $pw)); $row_count = $stmt->rowCount(); if (password_verify($pw, $password_hash)) { $_SESSION["username"]=$un; echo "Correct"; } else { echo "user: " . $un. "<br>"; echo "pass: " . $password_hash. "<br>"; echo "Wrong Username or Password"; } ?>
Please help me. Thank you in advance.
What I have tried:
A lot of manipulation to my code.
解决方案
un=
_POST['username'];
pw=
这篇关于使用PHP,mysql和PDO访问数据库时使用哈希密码登录问题。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文