PHP设置谷歌验证器(Google Authenticator)实现操作二步验证
使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。
下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)
https://github.com/PHPGangsta/GoogleAuthenticator
PHP代码示例:
//引入谷歌验证器类 vendor('googleAuth.GoogleAuthenticator-master.PHPGangsta.GoogleAuthenticator'); $ga = new \PHPGangsta_GoogleAuthenticator(); //这是生成的密钥,每个用户唯一一个,为用户保存起来用于验证 $secret = $ga->createSecret(); //echo $secret; //下面为生成二维码,内容是一个URI地址(otpauth://totp/账号?secret=密钥&issuer=标题) $qrCodeUrl = $ga->getQRCodeGoogleUrl('luokakale', $secret, 'googleVerify'); //echo $qrCodeUrl;
将上面生成的二维码地址放入网页img标签里面即可,示例图展示如下:
接下来就是客户端谷歌验证APP扫码绑定后进行输码验证,验证PHP代码示例:
//引入谷歌验证器类 vendor('googleAuth.GoogleAuthenticator-master.PHPGangsta.GoogleAuthenticator'); $ga = new \PHPGangsta_GoogleAuthenticator(); //下面为验证参数 $code = $_GET['code'];//客户提交上来的谷歌验证APP里面对应的验证码 //该用户绑定谷歌验证生成的唯一秘钥 $secret = 'VO2WA6NG3XZZEU4E'; //验证用户提交的验证码是否正确 $checkResult = $ga->verifyCode($secret, $code, 1); if ($checkResult) { echo 'SUCCESS'; } else { echo 'FAILED'; }
验证成功即客户绑定谷歌验证成功。该谷歌验证可用于客户登陆支付个人设置等各种场景。
本文属原创内容,为了尊重他人劳动,转载请注明本文地址:
https://www.cnblogs.com/luokakale/p/11384838.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)