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),或是通过人工的方式核实用户身份。当然,这主要看你的系统的安全级别了。
paip.找回密码功能流程设计(通过email)相关推荐
- javaWeb实现使用邮箱邮件找回密码功能
JSP+Jmail+JavaBean 发邮件(转)2010-08-23 18:052007年04月14日 14:32/* * SendMail.java * * Created on 2007年3月3 ...
- django重置密码发送html邮件,Django实现发送邮件找回密码功能
在各大网站上,一定都遇到过找回密码的问题,通常采用的方式是通过发送带有验证码的邮件进行身份验证,本文将介绍通过Django实现邮件找回密码功能. 找回密码流程 功能流程: 1.首先在用户登录界面,添加 ...
- python 发邮件 无需密码_Django实现发送邮件找回密码功能
在各大网站上,一定都遇到过找回密码的问题,通常采用的方式是通过发送带有验证码的邮件进行身份验证,本文将介绍通过Django实现邮件找回密码功能. 找回密码流程 功能流程: 1.首先在用户登录界面,添加 ...
- php实现短信找回密码,thinkphp5怎么调用云片接口实现发送短信验证码找回密码功能...
thinkphp5怎么调用云片接口实现发送短信验证码找回密码功能 发布时间:2020-12-11 12:33:42 来源:亿速云 阅读:60 作者:小新 小编给大家分享一下thinkphp5怎么调用云 ...
- html5实现短信验证修改密码,thinkphp5如何调用云片接口实现发送短信验证码找回密码功能...
下面由thinkphp框架教程栏目给大家介绍thinkphp5如何调用云片接口实现发送短信验证码找回密码功能,希望对需要的朋友有所帮助! 思路: 1.用户输入手机号,请求获取短信验证码. 2.thin ...
- 找回密码功能 java_Java实现邮件找回密码功能
本文实例为大家分享了Java实现邮件找回密码功能的具体代码,供大家参考,具体内容如下 1.有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回, ...
- 找回密码功能的流程总结
公司业务里需要做密码找回的功能. 使用邮件验证的方式实现密码找回. 当用户忘记自己密码的时候 , 可以通过输入自己的邮件号 , 系统发送携带验证码的邮件号来验证用户身份. 但是使用这样的验证方式,当用 ...
- php 找回密码思路,PHP找回密码机制流程
笔者前段接了一个项目,其中包含了一个用户注册系统,用到了密码找回功能,简单整理一下,写点心得. 首先,我们假定你已经有了一个用户注册系统.其中用户表可能如下: create table member( ...
- php 找回密码机制流程
首先,我们假定你已经有了一个用户注册系统.其中用户表可能如下: create table member( id int unsigned not null auto_incremtnt, userna ...
- SpringBoot实现通过邮箱找回密码功能
养成习惯,先赞后看!!! 目录 1.前言 2.步骤 2.1导入依赖 2.2开启邮箱的SMTP服务 2.3配置application.yaml文件 2.4 编写逻辑的步骤 2.4.1创建pm_valid ...
最新文章
- RabbitMQ 入门系列(4)— RabbitMQ 启动、停止节点和应用程序、用户管理、权限配置
- 使用pytest对django项目单元测试
- 【带你重拾Redis】Redis 主从架构
- 【强化学习】Q-Learning
- MySQL分库分表分库准备(6th)
- keras优化算法_自然场景文本识别(OCR),keras-yolo3-densenet-ocr
- 信息学奥赛一本通(1006:A+B问题)
- supersocket新的配置属性 textEncoding
- 哈佛研发出蛇形柔性机器人,复杂地面无脚行走关键在“人工皮肤”
- ios睡眠分析 卧床 睡眠_HealthKit睡眠分析
- 「程序猿 DD」星球8月拼团活动正式开启!
- 本地化、国际化、全球化是指什么?
- STM32---FLASH闪存
- dedecms后台界面更改
- netlink实现驱动和应用层通信
- 上海产品运营招聘面试技巧分析
- 固态变 SATAFIRM S11
- python三人同行七十稀_三人同行(三人同行什么意思)
- html打印纸张尺寸设置100*150,打印机纸张大小怎么设置 打印机纸张大小设置方法【详细介绍】...
- 【数学建模】灰色关联(Matlab代码实现)
热门文章
- Dubbo源码解读:appendAnnotation [01]
- Educational Codeforces Round 43 (Rated for Div. 2)题解
- 自管理图形处理结构框架
- mysql 年龄计算(根据生日字段)
- Java NIO 和 IO的区别
- 为什么你作为一个.NET的程序员工资那么低?
- 微软Windows7对Vista的几点改进
- IT项目如何做好进度管理
- Mybatis-学习笔记(N)mybatis-generator 生成DAO、Mapper、entity
- Git-第四篇廖雪峰Git教程学习笔记(3)远程仓库,克隆远端库