首页 文章

没有秘密保存在DB中的用户帐户激活电子邮件是否合理安全?

提问于
浏览
2

我想创建一个时事通讯应用程序,用户自然必须确认他们已经注册了时事通讯,因此如果某些机器人输入了地址,我们就不会发送垃圾邮件 .

我的想法是简单地向用户发送一封电子邮件,其中包含在网址中有秘密的链接,该链接是电子邮件地址和一些秘密网站密钥的哈希值 .

我的问题如下:有人可以通过注册几个帐户,然后通过他的地址接收秘密的哈希值,猜测sitekey,从而注册她想要的每个电子邮件地址吗?

我没有看到任何可以通过这样做获得的东西,但如果它很容易,有可能有人会这样做,我被列入黑名单 .

我没有存储未激活的用户帐户的原因很简单,我不想每隔x天从数据库中清除它们 .

2 回答

  • 2

    如果你确保使用sha1之类的东西,并使用完全随机的salt / sitekey,那么尝试使用字典攻击对sitekey进行逆向工程将是徒劳的 .

    如果有人确实希望合成自己的哈希来注册任意地址,那么更有效地利用他们的时间将获得访问您的服务器以阅读源代码:)

  • 5

    我认为最好生成一个随机秘密并将其保存在数据库中 . 这样就没有什么可以猜到的了 . (至少没有任何授予添加 any 电子邮件的权限) .

相关问题