蛮力保护实践密码重置

时间:2017-04-30 09:14:06

标签: php mysql brute-force forgot-password

我正在使用基于以下步骤的php + mysql密码重置系统:

  • 插入电子邮件表单
  • 生成唯一哈希
  • 读取哈希页面并授权重置
  • 选择新密码

哪些步骤最适合强暴攻击? 我的逻辑告诉我,我应该保护电子邮件表单和读取唯一哈希的代码页。 在电子邮件表单上实现这一点的原因是为了保护某人不要反复使用表单来获知他知道它在系统中的地址 - 我认为这是相当逻辑但我的问题主要是代码阅读器页面。 我应该基于ip,session甚至是短时间内任何地方的总尝试来限制该页面吗? 什么是最佳实践,有关此方面的任何文档?

1 个答案:

答案 0 :(得分:0)

免责声明:这可能不是最佳答案,但这是我实际实施的内容。

考虑一下黑客可以做些什么去海滩?

1)他将重复发送用户名和密码字符串。

2)如果他的ip被阻止了更多的输入(就像你输入错误的密码超过5次你的手机一样)。他将在阻挡时间后重新开始攻击。

3)如果他的IP被阻止,他将虚拟地更改他的IP并重新启动攻击。

=============================================== ======

我们(甚至谷歌/蒸汽等系统)做什么?

1)他们保留双重身份验证选项。

- >与银行的OTP系统一样。这将使黑客更难入侵。因为他必须在你的手机上要求你的OTP,这是动态的。

  

2)阻止IP将用于:   我们可以change ip in几秒钟再次尝试访问网站。

3)阻止帐户。

- >如果用户输入错误密码进行多次尝试(例如15),您可以直接阻止他的帐户,直到他自己验证(通过他发送到他的手机/电子邮件)。

加分:

更安全

1)设备检测:

大多数用户使用特定设备登录办公室计算机,移动设备,家庭桌面。如果您通过不熟悉的设备获得输入,请向用户发送有关它的通知。

2)检测来自地理位置的无效请求:

一些黑客欺骗ip和地理位置,但他们可能会在尝试失败后忘记更改它,您可以使用它来更多地了解攻击,甚至使用地理位置锁定。