在“电子邮件提交”用例中验证用户

时间:2009-03-24 20:11:51

标签: email authentication

我正在构建一个系统,允许人们通过电子邮件提交文本和照片,以及网站上的标准访问权限。我试图权衡两种策略的安全优势,特别是用于验证用户提交的内容。这里他们如下:

  • 基于身份验证:为每个用户创建一个秘密电子邮件地址,并将其提交给用户提交。此策略的优势在于人们可以从可能使用不同邮件帐户设置的多个设备发送
  • 来自基于身份验证:仅接受来自用户数据库中注册的地址的电子邮件。这个想法是根据发送地址模仿注册用户是不切实际/困难的。

你能想到其他可能的解决方案吗?提议的策略对你来说最有意义吗?

3 个答案:

答案 0 :(得分:5)

我建议您不要使用基于身份验证,至少不要没有其他凭据(密码等)

It's way too easy to forge,如果你知道别人的电子邮件地址,肯定不难。

如果您将电子邮件回复给用户进行确认,则可能会使事情变得更加困难,但要意识到您的服务最终会被用作某种垃圾邮件中继。 (我可以向你发送100个上传请求,带有伪造的FROM地址,你可以继续向100个确认请求的真人发送垃圾邮件)

答案 1 :(得分:0)

更好的选择是检查注册的电子邮件地址,但需要在用户已知的电子邮件主题中包含代码。这样,如果他们从地址伪造电子邮件,他们仍然需要一个密钥来验证收到的电子邮件。

答案 2 :(得分:0)

我会选择“从”+确认,以避免伪造。

即。收到电子邮件,但在主题行(或正文)中将带有身份验证令牌的回复发送回“发件人”地址。用户要么需要回复,要么点击链接确认提交。

您只有在确认后才发布内容。