PHP:验证当前密码
大家好,我正在我的项目中实施密码验证 验证当前密码以更改新密码 我的问题是:PHP:验证当前密码,php,Php,大家好,我正在我的项目中实施密码验证 验证当前密码以更改新密码 我的问题是: $res=mysql_query("SELECT * FROM users WHERE id=".$_SESSION['user']); $userRow=mysql_fetch_array($res); $pass = $userRow['password']; if(isset($_POST['update'])){ $id = $_SESSION['user']; $ne
$res=mysql_query("SELECT * FROM users WHERE id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
$pass = $userRow['password'];
if(isset($_POST['update'])){
$id = $_SESSION['user'];
$new_pass = md5(mysql_real_escape_string($_POST['new_pass']));
if($_POST['old_pass'] != $pass){
?>
<script>alert('Wrong Old Password');</script>
<?php
}else if(mysql_query("UPDATE users SET password='$new_pass' WHERE id=$id")){
?>
<script>alert('Password Successfully Updated');</script>
<?php
}else{
?>
<script>alert('Failed');</script>
<?php
}
}
$res=mysql\u查询(“从用户中选择*,其中id=“.$\u会话['user']);
$userRow=mysql\u fetch\u数组($res);
$pass=$userRow['password'];
如果(isset($_POST['update'])){
$id=$\会话['user'];
$new\u pass=md5(mysql\u real\u escape\u字符串($\u POST['new\u pass']);
如果($\u POST['old\u pass']!=$pass){
?>
警报(“错误的旧密码”);
是否将旧密码另存为md5?。如果是,则无法将旧密码(尚未进行md5加密)与从数据库检索到的md5加密密码相等
另外,请看这篇文章,解释为什么不使用md5
您的旧密码以加密格式存储。请尝试以下操作:
f(md5($_POST['old_pass']) != $pass)
问题是什么?问题是什么?问题是什么?1.不要使用mysql\uuuz
。2.不要使用md5
作为密码。3.问题是什么?另外,md5和无盐存储密码的效果更差。你最好将密码存储为纯文本。改为搜索PBKDF2。是否保存旧密码ssword为md5?。如果是这样,则无法将旧密码(尚未进行md5加密)与从数据库检索到的md5加密密码相等