如何在 PHP 中使用 password_verify 函数

How to use password_verify function in PHP

我正在 PHP (login_config.php) 中编写一个基本的网站登录脚本。

我的问题是:关于用户 security/protection,我是否正确实施了 password_verify() 函数?

-注意:Post 数据正在从 login.php

发送

代码(LOGIN_CONFIG.PHP):

        <?php                       //POST VARIABLES
    $submit = $_POST['login_submit'];
    $username = $_POST['login_username'];
    $password = $_POST['login_password'];
    $email = $_POST['login_email'];

    require 'password_config.php';
    if(isset($submit)){
    require 'db/connect.php';
    //PASSWORD VERIFYING
    $pass_query = "SELECT password FROM users WHERE email='$email'";
    $queried = mysql_query($pass_query);
    while($row = mysql_fetch_array($queried)){
    $user_pass = $row['password'];
    $veri_password = password_verify($password, $user_pass);
    }
    if(!$veri_password === true){$errors[] = '-Account does not exist ';}

编辑:我知道其他缺陷,请注意最初的问题。

您正确使用了明文密码的 password_verify() function as long as $row['password'] is returning the correspondent password hash created by password_hash(),而不是明文密码本身或任何其他值。

Note that no further security concerns are included in this answer.