什么是2FA?

双因素验证(Two-factor authentication,简称 2FA,又名二步验证、双重验证),是保证账户安全的一道有效防线。在登录或进行敏感操作时,需要输入验证器上的动态密码(类似于银行U盾),进一步保护您的帐户免受潜在攻击者的攻击。双因素验证的动态密码生成器分为软件和硬件两种,最常用的软件有OTP Auth和谷歌验证器 (Google Authenticator)。而此处要实现的功能就是:利用JS或PHP代码生成动态密码,简化用户登录账号获取验证码的流程。点击上面的“立即使用”按钮进入获取验证码页面。

JS实现

参考GitHub的开源项目简化而来,作者在程序中引用了jquery.mobile.js,实现的效果和谷歌验证相似,但在这里作为网站的简化小功能,只把生成验证码的部分保留。简化源码可实现输入密钥点击后,自动更新并复制验证码的功能。
开源项目地址:https://github.com/ivankruchkoff/google-authenticator。大佬可以阅读开源项目文档,自己修改实现此功能。下载简化源码,可直接使用(收费下载,大佬请绕行)

PHP实现

参考GitHub的开源项目修改完成,增加API接口文件,演示页面使用ajax加载数据,链接示例:url?key=xxx。PHP源码可实现输入密钥点击后,自动更新并复制验证码的功能。
开源项目地址:https://github.com/dochne/google-authenticator。大佬可以阅读开源项目文档,自己修改实现此功能。下载PHP源码,解压到网站目录可直接使用(收费下载,大佬请绕行)

总结

2FA功能的实现并不复杂,开源项目也很多。多数开源代码自己修改一下,就可以使用。后续将要完善的便是在网站的搜索框或者小部件实现此功能,简化使用2FA的步骤。