- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<?php
$connection=new PDO("mysql:host=localhost;dbname=userdata", "secure_credentials", "battery_staple");
$user=$_POST['username1'];
$pass=$_POST['password1'];
$snip=mb_substr($user, 0, 3);
$pass=password_hash($pass, PASSWORD_BCRYPT);
$user_query=$connection->prepare("INSERT INTO login (email, password, semod, snippet) VALUES (:email, :password, :semod, :snippet)");
$user_query->bindParam(':email', $user);
$user_query->bindParam(':password', $pass);
$user_query->bindParam(':semod', "false");
$user_query->bindParam(':snippet', $snip);
$user_query->execute;
(密码已更改)
我在上面的 PHP 代码中遇到了一个小问题,每当执行它时,我都会收到此错误:
Fatal error: Cannot pass parameter 2 by reference in [location] on line [##: I shortened the above code... it's the password field with issues]
环顾四周,在不使用变量的情况下直接传递字符串/整数时,这似乎是一个问题。然而,password_hash()返回一个字符串,所以我相信它没有返回一个字符串。这个问题可能是什么问题?
最佳答案
您的错误在这一行:
$user_query->bindParam(':semod', "false");
您需要使用bindValue
。
$user_query->bindValue(':semod', "false");
bindParam
通过引用传递第二个参数,因此它必须是一个变量,而不是文字。
此外,不需要绑定(bind)已知值。您可以轻松地将文字 'false'
字符串添加到您的语句查询中,即
"INSERT INTO login (email, password, semod, snippet) VALUES (:email, :password, 'false', :snippet)"
关于php - 为什么 PHP 的 "password_hash"不返回字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23073055/
我正在使用 PHP 5.5+ password_hash() 函数在将密码存储到数据库之前对其进行哈希处理。到目前为止一切顺利。 我有点不确定的是,是否需要对从表单发送到我的 PHP 脚本的密码进行预
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我一直在阅读有关密码哈希函数的内容,据说:使用盐使黑客的工作更加困难,使用高度成本算法等我找到了这个 password_hash 函数但是......它返回这个(字母是一个例子来解释) AAAACCC
根据(相对)新的 PHP 文档: password_hash函数使用随机盐(我们不应该担心.. O_O),所以如果我理解正确,盐必须存储在某个地方,否则用户在注册到网站后将无法登录(不同的盐=>不同的
这个问题在这里已经有了答案: Using PHP 5.5's password_hash and password_verify function (4 个答案) 关闭 7 年前。 我正在考虑使用
这个问题在这里已经有了答案: password_hash returns different value every time (1 个回答) 关闭 4 年前。 我试图在将密码存储到用户数据库之前对
如果我有两个使用 password_hash 创建的密码哈希功能,我如何判断它们是否来自相同的基本密码?我知道它每次都使用不同的盐。我没有纯文本。 例如: $2y$10$M6CnjqaxuUKNhg8
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 6 年前。 Improve t
我知道 PHP 函数,password_hash 在一个字符串中输出算法、成本、salt 和哈希,因此 password_verify 可以检查密码。 来自 PHP page 的示例输出: $2y$1
我的注册脚本接受用户密码,然后使用 PHP 的 password_hash 函数对密码进行加密,然后将其放入数据库中。当我使用刚创建的用户登录时,出现检查密码是否相同的错误。就我而言,他们不是。我在登
阅读有关新 password_hash 的文档PHP 5.5 的函数,我想知道默认算法是什么: password_hash("rasmuslerdorf", PASSWORD_DEFAULT); 关于
我正在制作一个登录系统,我想对密码进行哈希处理以使其更安全,但每次都会返回不同的哈希值,甚至无法使用 password_verify() 进行验证,这是我的代码: $password = passwo
这个问题在这里已经有了答案: Secure hash and salt for PHP passwords (14 个答案) 关闭 8 年前。 我想知道 password_hash("customp
我现在正在本地主机上运行 php 版本 5.4.16,同时我正在开发我的网站。我想使用 password_hash(),但我一直收到此错误: Fatal error: Call to undefine
PHP password_hash() 函数允许的最大成本是多少? $options = [ 'cost' => 18, ]; $res = password_ha
PHP password_hash() 函数允许的最大成本是多少? $options = [ 'cost' => 18, ]; $res = password_ha
我有 2 个具有不同代码的注册页面,但我希望它们返回相同的密码哈希值!或至少 Password_verify 接受的格式首先是: function _password_hash($password)
这个问题在这里已经有了答案: Implement password recovery best practice (12 个答案) 关闭 7 年前。 我目前正在使用 password_hash,这是
我正在使用 password_hash 函数来保护登录页面上的用户密码。但是,在注册页面上,我要求用户两次提示他的密码,但我无法比较两个哈希值,因为即使密码相同,它们也不同。 我应该将两个密码作为字符
我可以在 PHP 5.5 password_hash() 和 password_verify() 中使用的最大密码长度是多少? 最佳答案 好的,让我们来看看这个。 函数确实有密码长度限制。就像 PHP
我是一名优秀的程序员,十分优秀!