当前位置:编程学习 > C#/ASP.NET >>

asp.net重设密码的链接怎么生成的

很多网站设置了用户邮箱,用于重设密码,输入邮箱后,向邮箱中发送一个超链接,用于重设密码,它的超链接是怎么生成的里面包含了些什么东西啊? ASP.NET 密码 --------------------编程问答-------------------- "http://www.baidu.com/changpasswrd.aspx?username=abc&key="+ md5(username + DateTime.Now.ToString("yyyyMMddHH")+随机数)

数据表也要多加一个字段用来保存 "随机数"

当验证

md5正确时就给他修改的权限 --------------------编程问答-------------------- 超链接里面最重要的一个参数就是一个随机数
就像LS说的,我简单的说下步骤
1:输入邮箱,点击重置
2:网站后台会生成一个guid(充当随机数了),把guid存入数据库并与要修改的用户名对应起来,还要存过期时间
3:向该邮箱发送邮件,内容主要是重置页面的url+guid刚刚生成的随机数
4:用户点击该链接会跳转到重置密码页码
5:判断该guid有没有过期?有没有被使用过?
6:guid可以用,让用户重置密码,并将该guid在数据库中标志失效掉

大致就这么的步骤啦,LZ可以稍微微调下
--------------------编程问答-------------------- 1.要修改用户密码?那我们就来创建一个页面用来修改用户密码。

2.怎么才能让这个页面知道是修该那个用户呢,考虑等下要让给用户知道到那里去改那我们就通过GET传值的方式告诉这个页面应该要给那个用户改密码。

3.这样明目张胆的转值不太好把.于是当用户请求要修改密码的时候我们临时生成了一段字符串来表示这个用户,等页面收到GET过来字符串后在去查对应的用户,为了安全,这种对应信息我们一般写在数据库里面。

4。然后我们把这个页面加字符串组成的连接发送给到用户指定位置,就好了。最后记得把用过的字符串注销掉,以免重复使用。

4.但是有人要乱猜GET字符串怎么办(知道用户邮箱,知道修改页面,不知道用户邮箱密码的可疑使用者)?嗯,那我们就把字符串生成的复杂点,让他一时半会猜不出来,再给这个对应信息加个过期时间,等他猜出来这个字符串已经过期失效了。

5,但是他用机器自动猜怎么办?那我们就在这个页面加个验证码,等验证码输入正确了才能进下一步。错多了就封掉他。

6.但他破解了验证码,而且机器好变态,一秒猜几万个。那我们就想个安全策略,比如这个IP或cookie在单位时间内连续访问失败超过一定次数就封掉他IP。

7.还是不行啊,他会改IP,而且不止一个人在猜啊~~,
8.。。。。
9,还是不行啊。。。。那你只能关闭服务器了。他这么下血本,除非你服务器比他机器更强劲。再查明来源之前你也必须停止核心服务。 --------------------编程问答-------------------- 上面3位说的很详细了。 --------------------编程问答-------------------- 上面都说得非常详细了 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 上面都已经表达清楚了 --------------------编程问答-------------------- 恩,1.2L说的很细了。。。。。 --------------------编程问答-------------------- 额  其实我想说  那个链接不就是一个<a>\标签吗?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,