文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

n4id2

http://sjzytwl.xhstdz.com/comn4id2/

相关列表
文章列表
  • 暂无文章
推荐文章
PHP实现谷歌验证器二次验证
发布时间:2024-12-29        浏览次数:7        返回列表

一、什么是谷歌身份验证器
不少网站在登陆或者操作时都需要谷歌身份验证器(Google Authenticator),就是说在输入用户名和密码之后还需要输入一个动态密码,而这个动态密码由手机APP谷歌身份验证器生成,不但不依赖于网络,还会每30秒自动更新,是不是很强大?谷歌验证器是谷歌公司推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题。开启谷歌验证器的登陆两步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的动态密码。这样,即便你的数字货币交易所的账号和密码被攻破后,还需要打开手机的谷歌验证器,输入一个6位数的动态密码(30秒变化一次)验证后,才能登入你的数字货币交易所。

PHP实现谷歌验证器二次验证

二、如何安装使用
1、 如果您使用的是 iOS 系统( iPhone、iPad ,请访问 App Store ,搜索 Google 身份验证器( Google Authenticator ,点击“获取”即可完成安装。
如果您使用的是 Android 系统(安卓手机,登录应用商店搜索 Google 身份验证器( Google Authenticator )下载。
2、安装好软件,即可。

三、验证码失败原因及分析不少人在使用过程中因为各种各样原因却卡在验证码上,收到“Invalid code"或者"Incorrect Code"或者"has expired"等验证码无效的消息,到底是什么原因呢

原因一:30秒时间已过这个验证码是30秒自动更新的,如果输入之后恰好赶在它更换验证码,那原来这个已经失效,所以输入的时候看好时间,如果时间不够,就等它更新之后再输入。

原因二:时间不同步手机的时间需要和谷歌服务器的时间不同步,但我选择同步之后依然无效,后来想想同步谷歌服务器,需要“科学上网”,打开翻-墙再选择同步问题终于解决。

开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。
实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。
算法类保存为GoogleAuthenticator.php 的文件

第一种,做登陆验证码时,第一次生成密钥不变,然后生成一个二维码用GoogleAuthenticatorAPP扫一下就添加进去了
服务器判断secret为第一次生成的密钥,code就是动态验证码,这样比较一下如果相同就通过。
第二种,对每个会员邦定动态验证或密码。注册会员时首次生成一个密钥保存到会员表里,下次登陆就把那个对应的随机数输出来。
生成动态码

 

校验动态码

 

PHPGangsta_GoogleAuthenticator 实际方法

 

用户实际调用demo