无法使用先前通过注册查询创建的哈希密码无法登录的用户

塞巴斯蒂安·法拉姆(Sebastian Farham)

我还是个菜鸟。我正在尝试使用先前在注册查询中创建的hash_password登录用户。我一直在这里逛逛,但我想我不明白它是如何工作的,需要帮助来理解它。

signup.php

if(isset($_POST['register'])){

// set parameters and insert in users table  
$date_now = date('Y-m-d H:i:s');
$user_level =$_POST['user_level'];
$username = $_POST['username'];
$password = $_POST['password'];
$email =  $_POST['email'];

//Store $hashedPassword in the database under the password column.
$hashedPassword = password_hash($password, PASSWORD_DEFAULT);

// prepare and bind // users table
$user = $db->prepare("INSERT INTO users (username, password, email,created) VALUES (?, ?, ?,?)");
$user->bind_param("ssss", $username,$hashedPassword, $email,$date_now);
$user->execute();

}

login.php

 if($_SERVER["REQUEST_METHOD"] == "POST") {

     $myusername = mysqli_real_escape_string($db,$_POST['username']);
      $mypassword = mysqli_real_escape_string($db,$_POST['password']); 
       $hashedPassword = "SELECT id FROM users WHERE username = '$myusername' and  password = '$mypassword'";


      $result = mysqli_query($db,$hashedPassword);
      $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
      $active = $row['active'];

      $count = mysqli_num_rows($result);

      // If result matched $myusername and $mypassword, table row must be 1 row

      if($count == 1 && (password_verify($mypassword,$hashedPassword))) {

         $_SESSION['login_user'] = $myusername;

         header("location: user/adminhome.php");
      }else {
         $error = "Your Login Name or Password is invalid";
      }

}
阿米拉·德芙(Amila Dev)

将您的login.php代码替换为以下内容。我对您的代码做了一些调整。希望它会工作。确保仔细检查差异。:)

 <?php
 session_start();

 if($_SERVER["REQUEST_METHOD"] == "POST") {

    $myusername = mysqli_real_escape_string($db,$_POST['username']);
    $mypassword = $_POST['password'];           // no need to real escape this

    // query for getting hashed password for the $myusername
    $hashedPasswordQry = "SELECT password FROM users WHERE username = '$myusername'";


    $result = mysqli_query($db,$hashedPasswordQry);
    $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
    $active = $row['active'];

    $count = mysqli_num_rows($result);

    // If result matched $myusername and $mypassword, table row must be 1 row
    if($count == 1 && (password_verify($mypassword, $row['password']))) {

        $_SESSION['login_user'] = $myusername;
        header("location: user/adminhome.php");

    }else {

     $error = "Your Login Name or Password is invalid";

    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法通过Keycloak Rest API使用密码创建用户

来自分类Dev

无法使用密码登录

来自分类Dev

无法使用特定密码创建Oracle用户

来自分类Dev

使用DACPAC创建的用户无法登录

来自分类Dev

PHP无法在PDO查询中使用哈希密码

来自分类Dev

无法使用密码加密注册

来自分类Dev

无法通过ssh创建具有密码的用户

来自分类Dev

通过命令行创建的用户,无法成功登录

来自分类Dev

无法登录我注册的wordpress用户

来自分类Dev

更改用户密码后无法登录

来自分类Dev

无法重置登录用户的密码

来自分类Dev

当注册(通过哈希)和登录使用2种不同的javascript函数时,如何将密码与数据库中的哈希密码进行比较?

来自分类Dev

无法获得新的用户注册,无法使用Devise Gem将用户创建到数据库

来自分类Dev

无法在flutter中使用firebase auth登录或注册电子邮件和密码

来自分类Dev

安装后无法登录。数据库显示哈希密码:

来自分类Dev

无法在DotNetNuke上使用新创建的用户登录

来自分类Dev

使用 Rails 生成器创建的设计用户无法登录

来自分类Dev

使用 newusers 命令创建的用户无法在 Ubuntu 18.04 中登录

来自分类Dev

为什么通过密码登录FE用户后无法访问页面?

来自分类Dev

ora-01017无效的用户名/密码登录被拒绝无法使用新连接登录

来自分类Dev

解析:无法注册自动创建的用户

来自分类Dev

无法通过CLI创建用户

来自分类Dev

无法使用laravel auth登录/注册

来自分类Dev

无法使用express + mysql登录,注册工作

来自分类Dev

不知道为什么未与先前的注册结合使用时我的登录无法正常工作

来自分类Dev

AD用户无法通过GDM / LightDM登录

来自分类Dev

如何创建用户密码哈希

来自分类Dev

如何创建用户密码哈希

来自分类Dev

ssh无密码登录无法使用proxycommand

Related 相关文章

  1. 1

    无法通过Keycloak Rest API使用密码创建用户

  2. 2

    无法使用密码登录

  3. 3

    无法使用特定密码创建Oracle用户

  4. 4

    使用DACPAC创建的用户无法登录

  5. 5

    PHP无法在PDO查询中使用哈希密码

  6. 6

    无法使用密码加密注册

  7. 7

    无法通过ssh创建具有密码的用户

  8. 8

    通过命令行创建的用户,无法成功登录

  9. 9

    无法登录我注册的wordpress用户

  10. 10

    更改用户密码后无法登录

  11. 11

    无法重置登录用户的密码

  12. 12

    当注册(通过哈希)和登录使用2种不同的javascript函数时,如何将密码与数据库中的哈希密码进行比较?

  13. 13

    无法获得新的用户注册,无法使用Devise Gem将用户创建到数据库

  14. 14

    无法在flutter中使用firebase auth登录或注册电子邮件和密码

  15. 15

    安装后无法登录。数据库显示哈希密码:

  16. 16

    无法在DotNetNuke上使用新创建的用户登录

  17. 17

    使用 Rails 生成器创建的设计用户无法登录

  18. 18

    使用 newusers 命令创建的用户无法在 Ubuntu 18.04 中登录

  19. 19

    为什么通过密码登录FE用户后无法访问页面?

  20. 20

    ora-01017无效的用户名/密码登录被拒绝无法使用新连接登录

  21. 21

    解析:无法注册自动创建的用户

  22. 22

    无法通过CLI创建用户

  23. 23

    无法使用laravel auth登录/注册

  24. 24

    无法使用express + mysql登录,注册工作

  25. 25

    不知道为什么未与先前的注册结合使用时我的登录无法正常工作

  26. 26

    AD用户无法通过GDM / LightDM登录

  27. 27

    如何创建用户密码哈希

  28. 28

    如何创建用户密码哈希

  29. 29

    ssh无密码登录无法使用proxycommand

热门标签

归档