如何解决我如何向用户发送电子邮件确认链接
| 我正在开发一个网站,当他/她注册时,我需要在该网站上向用户的电子邮件帐户发送确认链接。 当用户单击此链接时,数据库中的字段“ 0”将从\“ false \”更改为\“ true \”。 当用户单击注册按钮时,如何向用户发送确认电子邮件。 当用户单击此确认链接时,字段UserEnable
将如何从\“ false \”更改为\“ true \”
我使用VB.NET作为语言的ASP.NET 4.0和数据库的SQL Server 2008。
解决方法
首先,您应该在数据库中创建表User,并在数据库中创建类似“ 2”的列(1位数据库字段类型)。
然后,用户创建帐户后,您应该向他发送一个激活链接,其中包含包含用户激活guid的查询字符串。
就像是:
请在以下位置激活您的帐户
www.mysite.com?id=21EC2020-3AEA-1069-A2DD-08002B30309D
在确认页面上,您将检查该查询,例如
var id = Response.QueryString[\"id\"]
if (id!= null) userBL.ActivateUser(id);
ActivateUser()方法会将字段更新为true,并发送电子邮件确认。
, nemke发布的答案很好,但我的做法略有不同,我觉得它更安全,可以防止将来的更改。在数据库中创建用户记录时,我会在每个用户记录中创建两个额外的字段以供确认。
每个用户的以下字段类似:
userID: getUniqueUserID()
confirmed: false,confirmCode: getRandomUUID()
每个记录的ѭ5与唯一的ѭ6分开存放,并且仅在电子邮件发送到注册所用地址时才可以使用。然后,我发送如下网址:
http://example.com/activate?id=43d24b9ca73&c=16b4cf80-c59a-11e2-8b8b-0800200c9a66
然后,您可以获取查询字段服务器端,并使用id
以便根据唯一的userID
查找特定的用户记录,确保c
字段与记录中的confirmCode
匹配,然后将confirmed
字段设置为true并保存数据库中特定用户的记录。
, 用户数
ID |用户名|电邮|用户启用
发送电子邮件检查此。
收到确认链接时,您将根据“电子邮件”字段进行查找,并将其对应的UserEnabled设置为true。
, 如果您使用的是ASP.NET内置成员资格控件,则可以使用
CreateUserWizard控件的MailDefinition属性
MailDefinition属性返回一个
引用一组属性
用于定义格式和
电子邮件的内容是
发送给新用户。常用设定
包括主题行和
发件人的回信地址。
, .NET 4框架
观看此视频,了解操作方法。
http://www.asp.net/security/videos/implement-the-registration-verification-pattern
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。