如何确保我发送邀请的电子邮件地址是响应者。?

时间:2018-06-12 07:31:18

标签: javascript http security https

所以我发送一个邀请函到一个电子邮件地址,供该人点击一个回复。他们可以点击href或剪切并将其粘贴到浏览器中。我想确保只有我发送邮件的原始人才是回复者。因此,不转发邀请或共享链接。我知道我可以将目标电子邮件地址作为返回参数放在href中,但可以对其进行操作。有没有一种安全的方法可以将目标电子邮件地址存储在要返回的链接中?  编辑: 所以我知道我可以在收到邀请并注册后发送确认电子邮件。我还可以保存原始电子邮件地址并强制被邀请者使用它来注册然后发送验证电子邮件但所有这些看起来非常圆,是否有更有效的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以确保响应邀请的人没有声明您已将邀请发送给其他人(当您发送邀请电子邮件时):

  1. 生成唯一令牌
  2. 将该令牌与电子邮件地址一起存储在您的数据库中
  3. 在接受邀请时使用该令牌识别电子邮件地址
  4. 但是,正如您所说,电子邮件可以转发。如果你向Alice发送邀请并将其转发给Bob,那么没有什么能阻止Bob代表Alice接受它。

    您可以在电子邮件中警告Alice,该链接是私密的,不应转发。

    由于邀请将与Alice的电子邮件地址相关联,如果她忽略了该建议,那么她仍然可以使用您实施的任何密码重置功能来获取Bob的控制权。

    您还可以向Alice发送“您已接受邀请。如果这是一个错误,请点击此处取消。”电子邮件。

答案 1 :(得分:0)

是的,有。

但是你如何选择实施它取决于你。我个人会用etc sha256单向散列电子邮件。你可以说,它是基于数据库用户的事情。

  • 用户ID
  • 电子邮件
  • 发送时间戳

所以你会有一个像:

这样的字符串
1234-user@domain.tld-1528789712

依此类推,将各种东西放在一起然后散列的组合取决于你。当然,不要按原样哈希电子邮件 - 然后它仍然很容易操纵"。不要忘记将数据库中的哈希值保存到,以便以后可以使用它,或者至少确保以后可以调用字符串中的内容。

因此,您可以在跟踪像素和href链接中包含类似的内容。 (我假设您也有跟踪像素,因此您可以跟踪他们何时打开电子邮件,但也许不要点击该链接)

?source=ba1159374805fb1c3129afd4811c7be072bd9205d88237c8a957a1dfdf6dd00c

希望有所帮助。