Php 需要一种方法来识别用户,如果用户与他们';你的帐户被黑客入侵了吗?

Php 需要一种方法来识别用户,如果用户与他们';你的帐户被黑客入侵了吗?,php,security,password-recovery,phishing,Php,Security,Password Recovery,Phishing,我正在开发一个具有用户帐户的PHP应用程序,我遵循了安全方面的最佳实践(我也尽了我的责任),但这显然不会阻止帐户被黑客攻击 这只是我的前瞻性思考,但请看以下场景: 比方说,一个用户愚蠢到可以让一个帐户被黑客入侵 在那里写下密码(有人发现了“黑客”…) 由于黑客获得密码,黑客登录并更改密码 它还会更改电子邮件 现在用户发现了(由于他们无法登录或 恢复/重置他们的通行证) 然后,用户决定将此报告给员工(因为他们希望重新获得对帐户的控制权) 我(一名员工)如何才能确定报告的人是实际用户,以便我能够帮助

我正在开发一个具有用户帐户的PHP应用程序,我遵循了安全方面的最佳实践(我也尽了我的责任),但这显然不会阻止帐户被黑客攻击

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

比方说,一个用户愚蠢到可以让一个帐户被黑客入侵 在那里写下密码(有人发现了“黑客”…)

由于黑客获得密码,黑客登录并更改密码 它还会更改电子邮件

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

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

我(一名员工)如何才能确定报告的人是实际用户,以便我能够帮助他/她

任何人都可以提供一个用户名(或者电子邮件,如果他们认识这个人的话)

我有一个可能的想法;一个值得记忆的单词,需要在注册时给出(并且不能更改)…以帮助识别用户

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

你的想法?任何示例代码都很好


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

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


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

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


如果您确实需要允许更改电子邮件地址,请要求登录用户生成发送到原始地址的电子邮件更改密码,并且只有在单击原始地址的链接后,才能将他们带到表单以更改其电子邮件地址,这同样需要通过向新地址发送电子邮件进行验证。只有成功单击新地址的链接,电子邮件更改才会提交。

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

我认为大多数网站处理这一问题的一般方法是在您更改电子邮件地址时发送确认电子邮件。我还看到一些网站只允许你添加电子邮件(例如,电子邮件列表)。如果你需要真实姓名,你可以让此人向你发送一份显示其姓名的ID副本。如果用户无法访问其旧电子邮件地址,这将导致问题。你有后备计划吗?