jsp网页开发中,通过注册邮箱找回密码,并限制连接的有效时间

来源:互联网 发布:testv淘宝店哪个吃 编辑:程序博客网 时间:2024/05/17 08:11
在很多注册系统中,都会有忘记密码通过邮箱找回密码这一功能,但这是怎么实现的呢。通过自己做的一个小项目来说说我是怎么做的吧。首先用户在注册时必须要填写有效的电子邮箱地址。注册成功时,当用户登录忘记密码是,可以这样来实现。首先要定义一个数据库表:就叫test吧。里面有如下几个字段:username(注册的用户名),url(当选择忘记密码时,会有一个随机但不重复的的值作为url),forgetdate(申请找回密码的时间)。用户申请找回密码,必须要输入有效的用户名和注册时对应的eamil地址。只有在这两项都通过验证确实在数据库中存在时,产生一个随机的url参数 (用系统当前时间的毫秒数:System.currenttime()+username ,再通过md5加密(或者其他加密算法)生成一串字符串。)例如:发往邮箱的找回密码链接地址是:http://127.0.0.1/bbs/finfpwd.jsp?url=(生成的字符串)。如何发送邮件在网上搜一下,很多。 在往test数据表中保存数据时,要记录一个session,用于保存提交找回密码的时间。session.put("startdate",Systsm.currenttime()); 这时用户登录邮箱,点击收到的连接,由于保存了session的时间信息。在finfpwd.jsp中有一个判断语句。就是用户点击该链接的时间,将点击该链接的时间与保存的session时间差与你设定的时间阀值做比较,如果小于,则跳到修改密码的页面,否则提示用户该链接已过期。当然在改密码的页面如何知道是那个用户呢,很简单,在findpwd.jsp页面中写一个接收url参数的代码。只要将生成的url字符串作为隐式的参数传给后台。这样就可以修改密码了。
原创粉丝点击