如何跟踪激活链接点击正确的电子邮件地址

时间:2015-06-30 07:37:36

标签: email laravel

我正在使用laravel 5.1中的电子邮件激活链接创建用户注册页面。 我发送激活链接到输入正确的电子邮件地址。如何找到激活 链接是从我发送邮件的正确电子邮件地址单击

2 个答案:

答案 0 :(得分:0)

让您了解这是如何运作的:

  1. 当用户注册为新用户生成每用户唯一令牌时(例如60be22f4-e849-4676-b64b-c3493e8709e0)
  2. 将此唯一标记与用户名和密码一起保存在数据库中
  3. 将此唯一令牌与您的激活电子邮件一起发送(例如,作为链接:http://my-domain.com/user/confirm/60be22f4-e849-4676-b64b-c3493e8709e0
  4. 当用户点击此链接时,搜索用户表中的唯一ID并将此用户标记为有效/已确认。

答案 1 :(得分:0)

有一种非常简单的方法:

  1. 为数据库中的每个用户存储“秘密”,这应该在第一次创建时生成,并且不应在系统中的用户生命周期内更改。秘密可以是一个简单的字符串,如'ajchdu8'<​​/ p>

  2. 设置包含用户ID及其“激活签名”的激活路由,如http://yourdomain.com/activate/ {user_id} / {signature}

  3. 创建一种机制,用于生成和比较这些签名,并将秘密用于每个用户,作为一种方式,只允许用户激活他们的帐户(或者无论如何都要提供URL)

  4. 签名基本上只是我们了解用户的事情的哈希,但在数据库中没有变化,因此它可能只是用户ID及其秘密的哈希,然后通过在链接中提供用户ID即可通过id在数据库中查找用户以获取他们的秘密以及验证签名所需的任何其他详细信息。