要做邮箱验证,就是在注册的时候除了用户名密码外还需要输入一个有效邮箱,然后通过 nodemailer 发送一份验证邮件到填写的邮箱。收到邮件后点击邮件里的链接则注册成功,将字段写入数据库。
小的想请问 v 友们,这个发送去注册邮箱里的邮件内容怎么写?如何写才能做到他那边一点验证的链接就通过验证然后将字段写入数据库呢。= =
1
cccRaim 2016-09-03 13:04:56 +08:00 via iPhone 1
随机字符串就可以了
|
2
aeshfawre 2016-09-03 13:07:03 +08:00 1
注册完之后——>随机生成一个字符串-> 在 redis 中存储这个字符串对应的用户 id -> 发送包含这个字符串的链接给邮箱 ->用户点击链接,后台根据这个字符串,获取对应用户 id ->设置这个用户 id 状态为激活状态。
|
4
aeshfawre 2016-09-03 13:11:13 +08:00
另一种模式就是:
注册的过程中 -> 随机生成一个字符串 -> 在 redis 中设置当前注册的 id 对应这个字符串 -> 发送邮件,提示激活码为这个字符串 ->显示一个网页,提示需要输入邮箱接收到的字符串 -> 用户去邮箱中复制出这个字符串,粘贴到网页中 -> 提交字符串 提示注册成功,否则失败。 |
5
NARUTOzp OP @aeshfawre 哦,这个是通过注册完再激活来处理,谢谢,这个好。那如果是希望在对方点击验证链接前不能完成注册那应该怎么做呢。就是会卡在注册界面那种,验证后才能进入首页。= =
|
7
NARUTOzp OP @aeshfawre 额,小的用的是 MongoDB ,在没验证时注册是失败的,就是没验证的话不会有记录存入数据库,就没有_id 了,点击验证链接才将记录存入,这个肿么破呢.0_0||
|
8
aeshfawre 2016-09-03 13:35:44 +08:00 1
这个。。。
注册过程中,用户输入的信息可以临时存放在 mongodb 中撒,最好是 redis 。 根据 cookie 对应这个临时存放的用户信息,不需要啥 id 啊,只需要将这个激活码存放在这用户信息里面。 他提交的激活码与你临时存放的激活是不是对应,不对应就注册失败,不入库。符合就入库,根本就不需要啥用户 id 的。 |
9
HFcbyqP0iVO5KM05 2016-09-03 13:42:34 +08:00 via Android
那就在注册的第一步只要用户填写邮箱,然后发送一枚 token 作为 parameter 的 URL 到用户邮箱,用户再点击这个 URL 进入后续的注册操作。
用户点击这个 URL 注册的时候需要验证他再次填写的邮箱和第一步填写的邮箱一致,不然不予以注册通过。 这枚 Token 可以存在服务端的 redis 中, key , value 就设置成 token, email ,设定比如 15 分钟的期限。 不知道这样可以不可以😁 |
12
qfdk 2016-09-03 17:34:44 +08:00 via iPhone 1
很简单嘛 数据库 用户名加个字段 1 或者 0 判断激活没有 然后随机字符串无所谓 直接 md5 他的信箱就好了 看我多机智。点击了 update 一下数据库
|