Joomla在其登录屏幕上有一个内置功能"我忘记了我的用户名",这样您就可以输入您的电子邮件地址,并通过电子邮件将用户名发送给您.
我正在考虑更改它,以便用户名立即显示在屏幕上,无需任何形式的身份验证.这将大大减少长时间返回的用户的摩擦,但它允许任何人输入任何电子邮件地址并查看相关的用户名(绝对不是相反的方式).
这会产生任何安全风险吗?这根本不是一个好主意吗?
当前实现要求用户拥有电子邮件地址,并阅读生成的电子邮件,以检索用户名.
您的实施可让攻击者立即知道哪个用户名与电子邮件地址相关联.因此,如果攻击者知道某人的用户名,则可以猜测电子邮件地址.
更糟糕的是,假设攻击者以某种方式知道密码而不是电子邮件地址.成功猜出电子邮件地址后,可以合理地猜测电子邮件帐户的密码与您网站的密码类似.因此,您已帮助攻击者劫持了电子邮件帐户,其中可能包含有关其他帐户的更多信息,等等.
通常,更改任何与安全相关的功能以使事情比标准实现"更容易"可能会带来安全风险.在实施前通过SO进行研究的+1!