首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP:验证当前密码

问PHP:验证当前密码
EN

Stack Overflow用户
提问于 2016-02-02 12:14:13
回答 2查看 178关注 0票数 1

嗨,伙计们,我正在我的项目中实现一个密码验证。

验证当前密码以更改新密码。

以下是我的疑问:

代码语言:javascript
复制
$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
         }
    }

即使我输入了正确的旧密码,“错误的旧密码”总是会弹出警报。那怎么解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-02 12:28:04

您是否将旧密码保存为md5?如果是这样,则不能将旧的pass (尚未加密的md5 )与从数据库检索到的经过md5加密的pass相等。

PLease还作为一个附带说明查看这个线程,解释为什么不使用md5

Why not to use MD5

票数 1
EN

Stack Overflow用户

发布于 2016-02-02 12:33:51

您的旧密码是以加密格式存储的。试试这个:

代码语言:javascript
复制
f(md5($_POST['old_pass']) != $pass)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35153232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档