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';
}
验证成功即客户绑定谷歌验证成功。该谷歌验证可用于客户登陆支付个人设置等各种场景。
转自:PHP设置谷歌验证器(Google Authenticator)实现操作二步验证
PHP设置谷歌验证器(Google Authenticator)实现操作二步验证相关推荐
- 【SpringBoot】61、SpringBoot中使用谷歌身份验证器(Google Authenticator)实现二步身份验证
Google 身份验证器 Google Authenticator 是谷歌推出的基于时间的一次性密码 (Time-based One-time Password,简称 TOTP),只需要在手机上安装该 ...
- google authenticator python_谷歌验证器 Google Authenticator工作原理
很多人都听过谷歌验证 (Google Authenticator) 或用过谷歌验证 (Google Authenticator) .尤其是随着比特币等虚拟货币的兴起,各大交易所都要求绑定谷歌验证 (G ...
- google authenticator python_谷歌验证器(Google Authenticator)
双因素身份认证就是经过你所知道再加上你所能拥有的这二个要素组合到一块儿才能发挥做用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一次性密码来代替传统的 ...
- javascript版谷歌身份验证器google authenticator
https://www.cnblogs.com/huangcong/p/11028910.html : https://github.com/wuyanxin/totp.js 使用JS计算Goo ...
- PHP接入谷歌验证器(Google Authenticator)
github类库地址,点击进入下载 <?php require_once 'PHPGangsta/GoogleAuthenticator.php'; //引入类库 $ga = new PHPGa ...
- Python 使用 PyOTP 实现二步验证
二步验证 之前为服务器安装配置了 PVE 虚拟机系统,由于经常需要远程登陆以及通过 Web 进行管理,所以需要进一步提高安全性.PVE 提供了二步验证的功能,结合手机上的 FreeOTP 软件可以实现 ...
- apple id两步验证服务器,如何开启 Apple ID 两步验证
本期教学点: 开启 Apple ID 两步验证,减小 Apple ID 被盗风险,大大提高安全性. 首先打开 Safari 浏览器,在地址栏输入 appleid.apple.com. 点击右边&quo ...
- TOTP算法实现二步验证
概念 TOTP算法(Time-based One-time Password algorithm)是一种从共享密钥和当前时间计算一次性密码的算法. 它已被采纳为Internet工程任务组标准RFC 6 ...
- 如何为SSH登录建立双因子验证机制(谷歌身份验证器)?
前言 默认情况下,SSH已经在远程机器之间使用安全的数据通信;但是如果你想为自己的SSH连接添加另外某种安全层,可以添加谷歌身份验证器(Google Authenticator)双因子验证模块,该模块 ...
最新文章
- PNAS: 儿童生长发育迟缓 = 长期饥饿?
- Cocos2d-x Touch事件处理机制
- HBase在CentOS上分布集群安装
- ​GPLinker:基于GlobalPointer的实体关系联合抽取
- Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用
- (王道408考研操作系统)第二章进程管理-第二节1:调度的基本概念及分类以及进程优先级
- org.json的使用详解
- 求“厉害”数 (10 分)
- 发牌一周年 国内5G发展如何?
- Visual Studio Code(VS Code)入门
- JAVA:eclipse文本中文支持
- 服务器如何用光盘拷文件材料,云服务器如何挂载光盘
- Java去除富文本编辑器中的格式标签
- 22021成都市高考成绩查询,四川大学本科教务系统登录
- java 蔡学镛_蔡学镛谈“Linux + Java 会得到什么”
- 用户解锁不存在_“sim卡无效,显示lte,电信掉3g,通讯录+86”等出现在卡贴“tmsi解锁模式”中的解决方法...
- js正则验证手机号格式
- 核心网技术之SDN学习总结
- python常用写法
- MATLAB中把Excel数据矩阵化,excel将表格数据矩阵-MATLAB怎么读取EXCEL中矩阵形式的数据,并存放在一......
热门文章
- 计算机大神专业小说,5本高人气系统流小说,无敌满足你,一路爽到底,全部是大神出品...
- “菜鸟”程序员和“大神”程序员差距在哪里
- Tables[0].Rows.count是什么意思
- 九宫格拼图android代码,九宫格拼图代码
- 微信服务号如何创建一个带参数的微信二维码?
- SpringBoot:快速使用Spring
- 自动预测保险理赔:机器学习之特征预处理(Kaggle保险索赔竞赛案例)
- 计算机考研数学几,考研数学一二三区别是什么?
- 使用python Telegram 机器人推送消息
- ImportError: /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: unde