我想验证用户电子邮件是否有效,并将此电子邮件转换为我系统中的ID。 但我不知道如何在邮件中建立链接,激活帐户(如Facebook和其他人) )我并不真正理解选择链接后会发生什么。
我想生成一个像“sdklbsdgk4493”这样的键进入一次 - 这样猜测很难,但对于很多人而言,复制和粘贴并不是一件容易的事情,我可能会用这个解决方案来惹恼他们。
有什么想法或想法吗?
p.s:我在c#工作,所以如果可以用c#完成......那就太棒了:))
谢谢Asaf
答案 0 :(得分:10)
在数据库中插入新用户时,其状态应为“已停用”,并插入您生成的“GUID”。您向他们发送一个指向激活页面的链接,该链接将在查询字符串中包含此GUID。它看起来像这样:
www.YourSite.com/Activation.aspx?GUID=jdfhg43h98234
在Activation.aspx
页面中,您从查询字符串中获取此GUID,并将其与数据库中的GUID进行比较。然后激活具有该GUID的帐户。
答案 1 :(得分:5)
创建用户
为用户生成唯一字符串
拥有一个存储唯一字符串的表,用户ID,保存是否被激活的布尔值,生成日期,到期日期以及如果您对这些激活字符串有不同的用途,类型(链接到另一个表)
现在,在电子邮件中,您应该获取字符串并将其写入电子邮件中,并附带指向您将用于验证的页面的链接,例如whatever.com/verify.aspx?activationString=hd3fd33fen342n43 < / p>
在此页面中,您可以在包含密钥的表格中进行查询搜索,如果尚未验证
答案 2 :(得分:2)
您的用户表位于数据库中(或者您存储用户列表的位置),只需添加一个列,说明用户的邮件是否已经过验证。 对验证邮件添加一个链接,该链接使用特定于用户的代码(例如它在数据库中的索引)触发某些PHP。 PHP会将用户的“验证”列设置为true,并且它将完成。
它并不像最初看起来那么复杂。
答案 3 :(得分:2)
这个想法是创建一个随机密钥,将其保存到连接到useraccount的数据库,提供一个指向用户电子邮件的链接,该链接可以指向一个web服务(或常规网站),它将密钥作为查询字符串。然后将激活连接到该特定密钥的帐户。