注册 登录
编程论坛 ASP.NET技术论坛

邮箱激活账号这效果怎么做?

青格儿 发布于 2008-08-28 12:08, 3080 次点击
系统中,当你注册完一个账号后,还不能使用,要通过邮箱激活它,这效果怎么做?比如:发一个激活码到邮箱,或是发个链接地址直接激活。

1。如果是通过激活码激活,这个激活码怎么生成的。有效时间又是怎么控制的?(比如:一段时间后,该账号如果还没激活,这个激活码将失效)

2。如果是通过链接激活,那这个链接是怎么来的?又是怎么激活账户的。请大家帮帮我。
6 回复
#2
l7891232008-08-28 13:06
路过来看看了呀



























" border="0" />
[url=http://www.]换装小游戏[/url]
#3
Xxibug2008-08-28 14:09
激活码可不可以随机生成,过期时间及激活码验证可不可以使用数据库控制
链接激活可不可以使用?uid=....之类的url附加信息验证
#4
bygg2008-08-28 21:35
用户表中增加一个字段,用来保存注册用户的状态,比如,没有激活的是什么状态,激活后的又是什么状态......
将激活码保存在数据库中.一个注册用户对应一个激活码,并对应相应的过期时间.一但激活了就删除该记录.
至于怎样生成,你可以写一个随机的东东....
至于链接你可以做了个页面并带上注册用户的ID,在给注册用户发邮件时,将该页面的地址发到邮件中,当用户进入该页面时,根据传过来的ID进行数据库查找.....再自动修改用户表中的状态....

[[it] 本帖最后由 bygg 于 2008-8-28 21:37 编辑 [/it]]
#5
雪雨星风2008-08-29 10:24
同意楼上的   用户表中默认设一个状态0   0为不启用

随机激活码可以用随机数字 sessionID  
不过sessionID 比较长建议用Substring截取一下就可以用了
生成的随机码赋给一个字符串待用 或直接保存到数据库中

用户点击提交的时间 执行发送该邮件  邮件中包含验证码什么的
用户把邮箱中的验证码填写到激活页面
点击提交  用那个验证码和数据库中的验证码进行比较  如果正确
就把状态更新成1 可用
#6
青格儿2008-08-29 14:31
呵呵,多谢楼上朋友们的回复。似乎明白怎么做了。

sessionID 比较长建议用Substring截取一下就可以用了 这个不行吧?
你又不知它多少位,怎么截取啊,万一超过索引了,就又出错了。这个做激活码不太好吧?还有这个sessionID怎么获得的?

我还是先用随机数吧,呵呵。
#7
wcp1262010-11-29 20:37
受教了
1