• 密码修改机制


    USer表:
    
    Uniqid        :用户唯一标示符号
    UserName      :用户名,邮箱名称唯一
    UserPwd       :密码(hash加密)
    UserEmail     :用户邮箱
    Hash          :用于找回密码所使用的字符。
    
    
    
    
    *:涉及到两个页面,找回密码页面、修改密码页面。
    
    1、首先,用户点击找回密码链接,跳转到找回密码页面,页面上有两个input,一个是用来输入用户名,另一个用来输入邮箱。
    
    2、找回密码页面后台代码处理情况是:
        2.1、首先根据用户名,查找用户Email邮箱地址。
        2.2、如果邮箱地址不为空,那么就意味着用户名正确,同时我们也得到了用户的邮箱地址。相反,则提示出用户名不存在。
        2.3、在判断获取邮箱地址不为空时,我们同时生成一段标识码(hash码),然后用此值,修改相应用户中的Hash字段(用来在修改密码时判断,是否是正常的页面跳转修改,而不是非法操作)。
        2.4、之后我们将用户名和生成的一段标识码(hash码,此时数据库中该用户的Hash字段已经存有此段编码)组装,然后进行重编码,之后连接到修改密码页面的url(../resetUserPass.php?p=dT1saXRvdSZ4PTAwZTc1MGZlNmZjOGNkNGYyMjgzMDA3MWJlZDNmZTAw),发送到用户邮箱。
    
    3、用户在邮箱中接收到发送来的连接,点击之后跳转到修改密码页面。
    
    4、修改密码页面,后台处理情况是:
        3.1、前台页面,只有一个文本框和一个标签,文本框用来输入要修改的密码,标签来显示用户名。
        3.2、首先解析发送来的标识码(p=dT1saXRvdSZ4PTAwZTc1MGZlNmZjOGNkNGYyMjgzMDA3MWJlZDNmZTAw),得到用户名和前面所生成的唯一标识码(hash码)。
        3.3、之后,通过唯一标识码和用户名,修改密码(update User set UserPwd = 输入的新密码[经过加密] where UserName = 传来的用户名 and Hash = 唯一标示码)。(若修改的返回值若是1,则代表唯一标识码正确,用户名正确,密码修改成功。否则,密码修改失败。)
  • 相关阅读:
    [原创] 毕设---在myeclipes中安装Hadoop开发插件
    [转]Linux下RPM软件包的安装及卸载 yum操作
    [转]结构化、半结构化和非结构化数据
    [转]这5种必知的大数据处理框架技术
    [转]浅谈Hive vs. HBase 区别在哪里
    前端资源整理
    每个程序员都应该知道的10大基础算法
    Python Day14(HTML)
    Python Day13(yaml)
    Python Day12(补充)
  • 原文地址:https://www.cnblogs.com/KTblog/p/4986523.html
Copyright © 2020-2023  润新知