Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 密码验证返回false_Php_Mysql - Fatal编程技术网

Php 密码验证返回false

Php 密码验证返回false,php,mysql,Php,Mysql,请帮帮我,我有点不明白为什么这不起作用 问候,, Ross存储哈希密码的列不够长。它应该超过60个字符,我建议VARCH(255)或TEXT考虑将来对password\u hash()函数的任何更改,这可能会创建更长的哈希 警告 您不应该将密码存储在会话数组中,因为它会暴露密码被劫持的可能性 说了解有关的语句 “没有sql注入,因为我的变量上有一个函数,可以将输入的文本转换为纯文本。mysqli\u real\u escape\u string($con,$\u POST['registerEm

请帮帮我,我有点不明白为什么这不起作用

问候,,
Ross

存储哈希密码的列不够长。它应该超过60个字符,我建议
VARCH(255)
TEXT
考虑将来对
password\u hash()
函数的任何更改,这可能会创建更长的哈希

警告 您不应该将密码存储在会话数组中,因为它会暴露密码被劫持的可能性

了解有关的语句

“没有sql注入,因为我的变量上有一个函数,可以将输入的文本转换为纯文本。
mysqli\u real\u escape\u string($con,$\u POST['registerEmail']);


甚至都不安全

存储哈希密码的列不够长。它应该超过60个字符,我建议
VARCH(255)
TEXT
考虑将来对
password\u hash()
函数的任何更改,这可能会创建更长的哈希

警告 您不应该将密码存储在会话数组中,因为它会暴露密码被劫持的可能性

了解有关的语句

“没有sql注入,因为我的变量上有一个函数,可以将输入的文本转换为纯文本。
mysqli\u real\u escape\u string($con,$\u POST['registerEmail']);


甚至都不安全

此函数的作用密码\u验证此函数的粘贴内容。。。sql注入的另一个观察结果是,密码存储的列宽度超过60个字符长?$password变量来自何处。还显示数据库架构中的“了解”语句。即使是这样也不安全!不要将密码存储在会话变量中!此函数的作用密码\u验证此函数的粘贴内容。。。sql注入的另一个观察结果是,密码存储的列宽度超过60个字符长?$password变量来自何处。还显示数据库架构中的“了解”语句。即使是这样也不安全!不要将密码存储在会话变量中!
$query = "SELECT * FROM users WHERE username = '$username'";
    $query_run = mysqli_query($con, $query);

    if(mysqli_num_rows($query_run) < 1)
    {
        header("Location: ../index.php?login=username");
        exit(); 
    }
    else
    {
        if($row = mysqli_fetch_assoc($query_run))
        {
            //deshashing password
            $hashedPwdCheck = password_verify($password, $row['password']);
            if($hashedPwdCheck == false)
            {
                header("Location: ../index.php?login=false");
                exit(); 
            }
            elseif($hashedPwdCheck == true)
            {
                //login the user here
                $_SESSION ['u_name'] = $row['username'];
                $_SESSION ['u_email'] = $row['email'];
                $_SESSION ['u_password'] = $row['password'];
                $_SESSION ['u_id'] = $row['userid'];

                header("Location: ../index.php?login=success");
                exit(); 
                    else
                    {
                        //hashing password
                        $hashedPwd = password_hash($password, PASSWORD_DEFAULT);
                        //insert the user into the database
                        $query = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$hashedPwd');";
                        mysqli_query($con, $query);

                        header("Location: ../register.php?register=success");
                        exit();
                    }