zoukankan      html  css  js  c++  java
  • paip.找回密码功能流程设计(通过email)

    paip.找回密码功能流程设计(通过email)

    找回口令的功能
    找回口令的功能一定要提供。但是很多朋友并不知道怎么来设计这个功能。我们有很多找回口令的设计,下面我逐个点评一下。

     不要重置用户的密码。因为这有可能让用户的密码遭到恶意攻击。当然,你要发个邮件给用户让其确认,用户点击邮件中的一个链接,你再重置。我并不推荐这样的方法,因为用户一般都会用笔记下来这个很难记的口令,然后登录系统,因为登录系统时使用了“记住密码”的功能,所以导致用户不会去修改密码,从而要么导到被写下来的密码被人盗取,要么又忘记了密码。


    好一点的做法——通过邮件自行重置。当用户申请找回口令功能的时候,系统生成一个MD5唯一的随机字串(可通过UID+IP+timestamp+随机数),放在数据库中,然后设置上时限(比如48小时内),给用户发一个邮件,这个连接中包含那个MD5的字串的链接,用户通过点击那个链接来自己重新设置新的口令。

    此连接单次使用


    伪码设计
    uname=input()
    $md5str=md5(uname+ip+timestamp+ramode+key)
    $unameEncode=3des(uname+key)
    url=http://host:port/app/resetPwd.jsp?sign=$md5str&u=$unameEncode
    $emailtxt= getTemplete(c:\templete.htm)
    $emailtxt= replace(@username,@url)
    sendmail($emailtxt);
    save(uname,$md5str,nowtime)
    log(uname,time,event:findbackpwd)
    /user recepte mail.open mailbox ,click to resetPwd.jsp

    check()
    {
    $uname=un3des( getpara(u));
    $sign=getpara(sign);
     if(NOTexist( $sign,$uname))
     tips (no this href) ;exit;
    if(outtime($sign,$uname))
     tips (only 48 hr avild) ;exit;

    }
    show (uname,textbox:pwd,texbox:pwd2)
    //when submit
    check() 
    $uname=getRec($sign,un3des($unameEncode))
    resetPwd( $uname,$newpwd,$newpwd2);
    deleteSave($sign,$uname) //confirm only signle use


    更好一点的做法——多重认证。比如:通过手机+邮件的
    方式让用户输入验证码。手机+邮件可能还不把握,因为手机要能会丢了,而我的手机可以访问我的邮箱。所以,使用U盾,SecureID(一个会变化的6位数token),或是通过人工的方式核实用户身份。当然,这主要看你的系统的安全级别了。

  • 相关阅读:
    Could A New Linux Base For Tablets/Smartphones Succeed In 2017?
    使用libhybris,glibc和bionic共存时的TLS冲突的问题
    6 Open Source Mobile OS Alternatives To Android in 2018
    Using MultiROM
    GPU drivers are written by the GPU IP vendors and they only provide Android drivers
    Jolla Brings Wayland Atop Android GPU Drivers
    How to Use Libhybris and Android GPU Libraries with Mer (Linux) on the Cubieboard
    闲聊Libhybris
    【ARM-Linux开发】wayland和weston的介绍
    Wayland and X.org problem : Why not following the Android Solution ?
  • 原文地址:https://www.cnblogs.com/attilax/p/15199837.html
Copyright © 2011-2022 走看看