oll*_*lli 4 security email usability
当有人在网站上注册他们的电子邮件地址时,通常会要求他们通过点击发送给他们的电子邮件地址中的链接来验证或确认他们的电子邮件.订阅或取消订阅邮件列表也是如此.
可用性明智,这很好.这是非常快速和容易做到的,我想不出任何能打败它的东西.
我不确定我是不是在想事情,但我只是想看看我是否遗漏了什么或误判了什么.
据我所知,电子邮件验证/确认的目的是
通过他们点击的当前流行实现只有一个链接并立即验证电子邮件,有人可以强制执行验证链接并绕过整个步骤.
只需访问verify.php?code=YOURBESTGUESSHERE
并尝试各种不同的代码.
攻击者现在就可以做如下的剥削:
我不确定后者的好处是什么,似乎为此目的创建一个丢弃地址要容易得多,但我只是想把它放在那里完成.
我的问题:
这整件事的最佳实践是什么,真正需要付出多少顾虑和努力呢?风险与利益/安全与可用性......?
如果攻击者的搜索空间YOURBESTGUESSHERE
足够大,暴力就变得不可行了.使用从电子邮件地址派生的代码加上通过已知良好的单向散列函数的已知良好实现提供的时间戳.
确保代码仅在使用后的短时间内(可能是几天).
在呈现代码时不要泄漏信息 - 代码的真实用户知道它适用于哪个电子邮件地址,并且没有其他人需要.