我计划设计一个应用程序,该应用程序将提供另一种安全流程,用户可以选择将其添加到其帐户中。
到目前为止,我的想法是获取用户下载应用程序的手机的电话号码,然后将网站帐户与电话号码相关联,每个唯一的电话号码只能使用一个帐户。
显然,为了提高安全性,代码将每30秒随机生成一次。因此,如果用户想要登录,则网站 - 或 - 应用程序将需要来自该帐户所链接的移动设备的安全代码。
我坚持的一件事是如何让应用程序和网站互相交流,并保持每个人不断更新,以便应用程序为每30秒注册的每个用户提供一个新的安全代码(只要他们有选项已启用)。
安全代码将存储在数据库中,(假设我们至少有几千个用户启用了该选项)数据库的更新量肯定会使服务器超载?
我将如何做到这一点,并优化'算法'为服务器处理它。
此外,还有更强大的功能吗?数据库服务器,比如MariaDB在这个例子中比MySQLi,SQLite等更好。
此致
答案 0 :(得分:0)
这可以通过Two-Factor Authentication来实现。双因素身份验证为帐户登录添加了第二级身份验证。当您只需输入用户名和密码时,就认为这是单因素身份验证。在双因素身份验证中,让我们在登录其他步骤进行身份验证时添加手机或外部应用程序提供的唯一代码。
使用双因素身份验证,您可以生成将每30秒更改一次的随机数,这可以在用户登录时使用。
您可以自己实现双因素身份验证,也可以使用现有的身份验证,如GoogleAuthenticator for php。使用Google身份验证器,它允许使用我们可以构建qr代码的秘密创建一个密钥。从Google身份验证器应用程序中读取qr代码后,它将每60秒生成一次。