Php 如何创建仅限密码的登录表单?

Php 如何创建仅限密码的登录表单?,php,hash,passwords,Php,Hash,Passwords,尝试重新配置一个最初需要用户名和密码才能登录的登录,而只是接受一个密码才能登录——原因我不打算详细说明。尝试登录时,我不断收到默认错误“无效密码”。这只是一个概念,所以请忽略任何安全漏洞等,只是试图获得访问仅使用密码 助教 检查两个用户是否使用相同的密码。。。($count>1)密码是否仍将链接到用户?脚本中是否有session\u start()?此外,您无法通过密码选择任何内容,因为您试图将纯文本密码(可读)与哈希值进行比较,其中password='$password'将永远不会为真,因为您

尝试重新配置一个最初需要用户名和密码才能登录的登录,而只是接受一个密码才能登录——原因我不打算详细说明。尝试登录时,我不断收到默认错误“无效密码”。这只是一个概念,所以请忽略任何安全漏洞等,只是试图获得访问仅使用密码

助教


检查两个用户是否使用相同的密码。。。($count>1)

密码是否仍将链接到用户?脚本中是否有
session\u start()
?此外,您无法通过密码选择任何内容,因为您试图将纯文本密码(可读)与哈希值
进行比较,其中password='$password'
将永远不会为真,因为您的数据库中有哈希密码,用户正在发送纯文本。“这只是一个概念,因此请忽略任何安全漏洞等。”首先编写安全代码。除其他事项外,在这种特殊情况下,不可能以不安全的方式编写它-您不能对像
密码\u散列那样的bcrypt散列执行
选择位置
,因为散列每次都会更改。这里的“我懒得安全地写”意味着写两次。即使在相同的密码中,密码哈希也是唯一的。那个数据库查询不起作用。您最好使用用户名或电子邮件进行查询,然后对传递的密码和检索数据库密码执行密码验证(..)。
<?php

require_once 'dbconnect.php';

if (isset($_SESSION['userSession'])!="") {
    header("Location: home.php");
    exit;
}

if (isset($_POST['btn-login'])) {

    $password = strip_tags($_POST['password']);

    $password = $DBcon->real_escape_string($password);

    $query = $DBcon->query("SELECT user_id, password FROM tbl_users WHERE password='$password'");
    $row=$query->fetch_array();

    $count = $query->num_rows;

    if (password_verify($password, $row['password']) && $count==1) {
        $_SESSION['userSession'] = $row['user_id'];
        header("Location: home.php");
    } else {
        $msg = "<div class='alert alert-danger'>
                    <span class='glyphicon glyphicon-info-sign'></span> 
&nbsp; Invalid Password !
                </div>";
    }
    $DBcon->close();
}