- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试做一个简单的登录操作,如果您可以调用的话。我正在使用MySQLi,到目前为止看起来还不错。
<?php
ob_start();
$myusername = @$_POST['username'];
$mypassword = @$_POST['password'];
if (isset($_POST['logged'])) {
$link->escape_string($myusername);
$link->escape_string($mypassword);
$stmt = $link->prepare("SELECT * FROM members WHERE username=?") or die ($link->error);
$stmt->bind_param('s', $myusername);
$stmt->execute() or die($stmt->error);
$stmt->store_result();
$count = $stmt->num_rows();
if (!empty($myusername) && !empty($mypassword)) {
if($count == 1) {
$rs = $link->query("SELECT * FROM members WHERE username='$myusername'");
$row = $rs->fetch_array(MYSQLI_ASSOC);
if (password_verify($mypassword, $row['password'])) {
$_SESSION['username'] = $myusername;
$_SESSION['first_name'] = $row['first_name'];
$_SESSION['last_name'] = $row['last_name'];
$_SESSION['email'] = $row['email'];
$_SESSION['loggedIn'] = true;
header("Location: login.php");
}
else {
echo "<p style=\"color: red\">Wrong Password</p>";
}
}
else {
echo "<p style=\"color: red\">Wrong Username</p>";
}
}
else {
echo "<p style=\"color: red\">Fill in all fields</p>";
}
}
?>
crypt()
将密码存储到数据库中,并且我相信密码是随机生成的。还有其他方法可以查看用户键入的任何内容的加密版本是否与数据库中的内容匹配?
最佳答案
password_verify
可用于PHP> = 5.5.0,因此您的主机可能没有所需的PHP版本。
另请:http://docs.php.net/manual/en/function.password-verify.php
您可以尝试这样的事情:
crypt($row['password'], $mypassword) == $mypassword
关于php - password_verify()替代方法? -PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23654949/
我的 Codeigniter(3.0 版)登录模块中有这个方法。它工作正常,但这安全吗?使用 PHP password_verify 检查登录名和密码是否有更好的解决方案?(PHP 5.6,MySQL
这个问题在这里已经有了答案: PHP password_verify not working against database (1 个回答) 关闭 5 年前。 这应该非常简单:我正在生成一个散列密
我的 Codeigniter(3.0 版)登录模块中有这个方法。它工作正常,但这安全吗?使用 PHP password_verify 检查登录名和密码是否有更好的解决方案?(PHP 5.6,MySQL
这个问题在这里已经有了答案: PHP password_verify not working against database (1 个回答) 关闭 5 年前。 这应该非常简单:我正在生成一个散列密
我正在尝试创建一个更安全的页面,我从密码加密部分开始。我正在尝试实现 password_hash + password verify,但到目前为止,我一直未能使整个工作正常进行。所以,它在我的登录区域
这里是登录代码,我试图让密码验证工作,但它不想。似乎这个 count($sql->fetchAll()) > 0 是问题所在,或者我调用了错误的变量给 password_verify()。 $
我使用 PHP 和 mySQLi 编写了简单的登录脚本。问题是 password_verify() 函数返回空变量。我已经仔细检查了所有内容,但我没有看到它。哪里有问题 ? session_start
我将用户名和加密密码存储在 mysql 数据库中。仅出于测试目的,我还将密码以未加密的形式存储在数据库中。 在下面的代码中,我从数据库中获取散列密码和未加密密码。然后我加密未加密的密码。 给定的密码未
好的,我已经在我的一个页面上使用了 password_hash。 我想知道如何将 password_verify 应用于以下代码: 函数 selectUser($conn, $username, $p
尝试从数据库验证散列密码,用户通过 POST 输入。经过一些简短的研究,这个问题似乎与无法将 mysqli_query 转换为字符串有关,尽管我不知道如何正确地做到这一点,因此我从另一个 SO 问题中
我一直在努力查找有关 password_verify() 是否使用长度常数时间比较来避免定时攻击的信息。 现在,简单的例子: $hash = '$2y$10$HH3906lfby7HOy1N3duQh
我通过 password_hash 散列我插入的密码。我使用 password_verify 验证它们。 然而,当我在我的数据库中插入一个散列密码并尝试验证它时,两个输出总是彼此不同。 我的页面如下,
函数password_verify()在新的 PHP 密码 API 中检查密码是否对应于哈希。哈希由 password_hash() 生成,默认情况下使用随机盐和 cost = 10。 我一直认为(尽
我已经为此挠头 2 个多小时了。我研究过关于 stackoverflow 的文章,包括: Issue with Bcrypt not verifying correctly php password_
我的注册脚本接受用户密码,然后使用 PHP 的 password_hash 函数对密码进行加密,然后将其放入数据库中。当我使用刚创建的用户登录时,出现检查密码是否相同的错误。就我而言,他们不是。我在登
我正在制作一个登录和注册系统。该系统可以正常工作,所以现在我必须为数据库存储的散列密码添加安全性。但是,当我从数据库中检索散列密码并将其与用户输入的密码进行比较时,它不起作用。 所以当我尝试
我正在尝试在某人登录我的网站之前检查他们的密码和用户名。密码都存储在 password_hash($password1, PASSWORD_BCRYPT); 我不确定我做错了什么。目前,无论我输入什么
我正在尝试做一个简单的登录操作,如果您可以调用的话。我正在使用MySQLi,到目前为止看起来还不错。 escape_string($myusername); $link->escape
这个问题在这里已经有了答案: php password_verify() hash and pass won't match (1 个回答) 关闭 5 年前。 $query = "SELECT *
我对这个主题进行了广泛的搜索,但没有人遇到过我能找到的相同问题。 我在 MySQL 表中创建一个用户,使用强度为 10 的 password_hash 的散列。 我一直在努力验证它,并制作了一个测试脚
我是一名优秀的程序员,十分优秀!