我正在用PHP编写一个基本的网站登录脚本(login_config.PHP)。
我的问题是:在用户安全/保护方面,我是否正确地实现了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 ';}
编辑:我知道其他缺陷,请注意最初的问题。
只要$row['password']
返回的是由普通密码的password\u hash()创建的对应密码散列,而不是普通密码本身或除此之外的任何其他值,就可以正确使用password\u verify()函数。
请注意,此答案中没有进一步的安全问题。
问题内容: 我已将密码()的值()加密。但是当我验证时,我得到了错误的结果哈希值。 工作良好 如何增加对MySQL的支持? 问题答案: 你不能 MySQL 函数使用操作系统的函数-如果您的操作系统不支持bcrypt哈希,则MySQL也将不支持它们。 另外,请勿使用MySQL 函数。正如ircmaxell指出的那样,传递给MySQL查询的任何数据都可能最终存储在服务器日志文件中,因此将其用于任何与密
问题内容: 最近,我一直在尝试在互联网上偶然发现的登录脚本上实现自己的安全性。在尝试学习如何制作自己的脚本以为每个用户生成盐的努力之后,我偶然发现了。 据我了解(基于本页的阅读内容),当您使用时,盐已经在行中生成。这是真的? 我的另一个问题是,吃2种盐不是很聪明吗?一个直接在文件中,另一个在数据库中?这样,如果有人破坏了数据库中的盐,您仍然直接在文件中保留了盐吗?我在这里读到,存储盐从来都不是一个
本文向大家介绍php生成验证码函数,包括了php生成验证码函数的使用技巧和注意事项,需要的朋友参考一下 php生成验证码的函数,实用靠谱。先上下生成的验证码的效果图(这里生成的是全数字的验证码的示例效果): 下面是php生成验证码的源码: 该函数的具体使用方法请看如下这个示例(这里是生成全数字的验证码): 以上就是php如何生成验证码的实现函数,希望对大家的学习有所帮助。
我正在尝试使用“新密码”解决方案来满足客户的要求。 我有这样的要求:< br> 1 -新密码必须是8 - 13个字符,< br> 2 -密码必须包含数字,< br> 3 -密码必须包含大小写字母,< br> 4 -密码不得包含用户名,最后< br> 5 -密码之前不得使用。 我不是Javascript方面的专家,我一直在尝试将所有这些要求放在一个脚本中,但我不知道如何解决这个要求的第1,4,5部分
我正在使用JMX远程监控我的服务器。但是,jmx-access和jmx密码存储我不想要的清除密码。 接下来是如何为JConsole的密码文件加密密码,如何使JMX自定义身份验证工作?以及如何创建登录模块?,我编写了一个自定义登录模块。 我的登录模块: 这是我的登录模块配置文件(d:/mysecurity.cfg): 启动服务器时,我使用以下参数: 然而,当我试图用JCsonle连接服务器时,我无法
我用扫描,这是结果: 看起来他们只支持ECDHE,从的输出来看,没有ECDHE密码!所以我的问题是如何使用PHP CURL客户端连接到远程服务器? 这是我的示例PHP代码,它返回false并返回消息: “列表中的未知密码:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128