我对一个服务激活用户的方式感兴趣。场景是我填写表格并发送。然后有一条消息,如果我想继续激活过程,我应该检查我的电子邮件。在电子邮件中有一条消息,如激活链接,如:www.theservice.com
我想知道他们怎么知道这是我:)。
我知道发送的链接包含用户登录的哈希值,以便服务器知道哪个用户输入并激活那个用户。
你知道怎么做吗?
编辑:
根据答案:奇怪的是我收到的链接中没有令牌。链接只是www.myservice.com,尽管如此,该服务仍然可以激活我的帐户。
唯一可以想象它是如何运作的想法是cookie。
答案 0 :(得分:2)
您可以生成哈希并将其与user_id一起存储在数据库中,并向用户的电子邮件地址发送一封电子邮件,其中包含指向您网站的链接,并在网址中添加& hash = yourHashHere等内容。在您的站点上,检查数据库中是否存在哈希,如果是,则激活数据库中的用户。您还可以添加时间戳,以便验证激活链接是否已过期。
答案 1 :(得分:1)
邮件消息可能包含带有表单的html以及用于其内容的隐藏字段。当用户点击在适当的服务器上提交的链接表单时,其中检索隐藏字段值以识别用户ID并跟踪帐户激活。
function doSubmit() {
document.forms["form1"].submit();
}
<form id="form1" action="www.theservice.com" method="post">
<a href="#" onclick="doSubmit()">Activate</a>
<input type="hidden" name="userIdForActivating" value="userId" />
</form>
答案 2 :(得分:0)
您要做的是创建使用用户登录详细信息保存的用户激活令牌。您还有用户电子邮件,即令牌发送到。 电子邮件实际上就像是
http://yourpage.com/activation/token
在你有链接的代码之后,你会检测到令牌是否存在,如果不存在,你将会提示用户,通常的组合是电子邮件和令牌
在此处查看更多内容:http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx