我最近必须获得一个网站管理登录系统,并希望对我正在使用的方法有一些第二意见,因为安全性往往会受益于第二意见。
实施细节:Linux,Debian,Mysql,Php
Ip白名单系统
件: in-database:用户名,密码,电子邮件,IP地址,ip白名单 用户提供:用户名,密码 客户提供:当前IP地址
除了需要正确的用户名和密码外,您连接的系统的IP必须列入白名单以允许登录。因此,系统的逻辑级联如下:
验证邮件:只需一个链接,其中包含与验证数据库中的密钥匹配的私钥,指向该网站的链接,页面链接将验证数据库中该记录的IP。
如果ip白名单:一旦列入白名单,正常的用户名/密码组合将被接受正常登录,不正确的用户名/密码组合将被拒绝。
那就是系统。它似乎与银行用于验证设备的方法略有相似,但并不完全相同,因此可能需要重构。有什么建议吗?
答案 0 :(得分:1)
我唯一的建议是使用Golden Questions与电子邮件。电子邮件很容易受到损害。
如果您不熟悉黄金问题,那么您可以在其中导入用户导入X数量的问题和答案。他们第一次登录时你会随机让他们回答他们的一些子集,如果他们正确地做了你可以列入白名单。每次使用新IP登录时,都会重复此过程。
一些额外的好处是更快的用户体验和更少的中断(他们不必在被允许访问之前等待电子邮件)。