0

我正在开发一个具有用户帐户的 PHP 应用程序,我遵循了最佳安全实践(所以我已经尽了我的一份力量)——但这显然不会阻止帐户被黑客入侵。

这只是我的前瞻性思考,但请看以下场景:

假设一个用户很傻,通过写下密码(有人发现 - '黑客'......)来入侵帐户。

由于黑客获得了密码,黑客登录并更改了密码并更改了电子邮件。

现在用户发现(由于他们无法登录也无法恢复/重置他们的通行证)......

然后,用户决定将此情况报告给员工(因为他们希望重新获得对帐户的控制权)。

我(工作人员)如何能够识别报告的人是实际用户,以便我可以帮助他/她?

任何人都可以只提供一个用户名(可能还有电子邮件 - 如果他们认识这个人)......

我对也许有一个想法;一个令人难忘的词,需要在注册时给出(并且不能更改)......以帮助识别用户。

必须有其他具有类似程序/功能的站点......

你的意见?任何示例代码都会很好!

PS:这不是一个高安全性的金融网站,更多的是游戏玩家的社交网络。

4

3 回答 3

2

我个人不允许更改帐户的主要电子邮件。因此,被利用的用户可以进行典型的基于电子邮件的密码重置。

如果您绝对需要允许更改电子邮件地址,请要求登录用户生成电子邮件更改密码并发送到原始地址,并且只有在单击原始地址的链接时,他们才能被采取到一个表格来更改他们的电子邮件地址,这再次需要通过向新地址发送电子邮件来验证。只有在成功单击新地址处的链接后,才会提交电子邮件更改。

于 2012-09-10T16:43:58.803 回答
0

为什么不将用于注册的原始电子邮件地址存储为数据库中的字段。这不需要用户查看,并且可以仅用作后备。然后,您可以允许管理员向该帐户发送一封电子邮件,其中包含指向您可以提出安全问题的页面的链接。

这不是我的想法,但我认为它是可行的。

于 2012-09-10T16:41:46.730 回答
0

您可以使用安全问题/答案。在注册期间,向您的用户提示诸如“您最喜欢的东西是什么?”之类的问题。他们对这些问题的回答应该被用来验证他们的身份。

于 2012-09-10T16:48:19.283 回答