https://www.jianshu.com/p/1a674952619c

说明

谷歌双重验证,也叫谷歌身份验证器、GA验证码,是网站用来防止暴力破解的一种手段,与短信验证码功能类似。
本文使用Thinkphp5框架,其他版本框架的使用方法类似。一般情况下应该给每个用户生成各自的身份验证码。

下载类文件

github上的项目下载,然后将PHPGangsta目录复制到Thinkphp5框架的extend目录下

https://github.com/PHPGangsta/GoogleAuthenticator

引入类文件

由于下载的文件代码里没有使用命名空间,所以可以使用Thinkphp5自带的Loader引入文件

<?phpnamespace app\admin\controller;
use think\Controller;
use think\Loader;class Google extends Controller
{public function index(){Loader::import('PHPGangsta.GoogleAuthenticator',EXTEND_PATH);$ga = new \PHPGangsta_GoogleAuthenticator();}
}

生成密钥

    public function index(){Loader::import('PHPGangsta.GoogleAuthenticator',EXTEND_PATH);$ga = new \PHPGangsta_GoogleAuthenticator();$secret = $ga->createSecret();echo "Secret is: ".$secret."\n\n";}

执行结果:

Secret is: O3DAUGDNGAGZINSQ

生成二维码链接

getQRCodeGoogleUrl方法中的第一个参数是显示在手机上的备注,可以填写你的站点域名或者其他任意字符串,二维码图片尺寸可以在生成的链接中修改。

    public function index(){Loader::import('PHPGangsta.GoogleAuthenticator',EXTEND_PATH);$ga = new \PHPGangsta_GoogleAuthenticator();$secret = $ga->createSecret();$qrCodeUrl = $ga->getQRCodeGoogleUrl('Blog', $secret);echo "Google Charts URL for the QR-Code: ".$qrCodeUrl."\n\n";}

执行结果:

Google Charts URL for the QR-Code: https://api.qrserver.com/v1/create-qr-code/?data=otpauth%3A%2F%2Ftotp%2FBlog%3Fsecret%3D7PUVFV7EZKH3DSWX&size=200x200&ecc=M

生成验证码

    public function index(){Loader::import('PHPGangsta.GoogleAuthenticator',EXTEND_PATH);$ga = new \PHPGangsta_GoogleAuthenticator();$secret = $ga->createSecret();$oneCode = $ga->getCode($secret);echo "Checking Code '$oneCode' and Secret '$secret':\n";}

执行结果:

Checking Code '598278' and Secret '5SNJWY6656S5PMVV':

验证验证码

    public function index(){Loader::import('PHPGangsta.GoogleAuthenticator',EXTEND_PATH);$ga = new \PHPGangsta_GoogleAuthenticator();$secret = $ga->createSecret();$oneCode = $ga->getCode($secret);$checkResult = $ga->verifyCode($secret, $oneCode, 2);    // 2 = 2*30sec clock toleranceif ($checkResult) {echo 'OK';} else {echo 'FAILED';}}

执行结果:

OK

手机客户端

安卓客户端

可以在Google Play搜索Google 身份验证器或者其他安卓市场下载,比如

豌豆荚: https://www.wandoujia.com/apps/com.google.android.apps.authenticator2

百度:https://mobile.baidu.com/item?docid=1385915&source=mobres&from=1010680m

ios客户端

App Store 搜索 Authenticator即可

Thinkphp5 谷歌验证相关推荐

  1. java项目集成谷歌登录验证器,给网站添加谷歌验证(我不是机器人)

    1.去谷歌网站.(如果没有谷歌gmail,也许还要注册gmail并登陆) 2.注册要验证的网站. Label中随意填写个标签. 'Choose the type of reCAPTCHA'中选择验证类 ...

  2. laravel 加谷歌验证

    谷歌验证这里使用的Google的两步验证一样,使用 TOTP 或 HOTP 算法生成一次性密码,一次性密码只有在生成当时使用才有效. 当您登陆时,您需要输入用户名密码,同时也需要输入手机上的两步验证码 ...

  3. 计算机器怎么验证,谷歌验证器【设置步骤】

    喜欢使用电脑的小伙伴们一般都会遇到win7系统谷歌验证器的问题,突然遇到win7系统谷歌验证器的问题就不知道该怎么办了,其实win7系统谷歌验证器的解决方法非常简单,按照 1:首先打开手机上的应用商店 ...

  4. 关于WEB页面处谷歌验证的接入

    首先我们需要认识到什么是reCAPTCHA reCAPTCHA 验证"机制可以提供保护,避免发生由机器人导致的垃圾邮件或滥用. 通过此机制,将向用户显示一个Web 页面,其中包含Google ...

  5. laravel-admin加谷歌验证器

    示意图 添加谷歌验证首先需要 参考: Laravel-admin 登录添加图形验证码 构建一个自己的登录系统 安装扩展 composer require "earnp/laravel-goo ...

  6. PHP设置谷歌验证器(Google Authenticator)实现操作二步验证

    使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码.实现Google Authenticator功能需要服务 ...

  7. laravel集成谷歌验证_如何将Google的两因素身份验证添加到Laravel

    laravel集成谷歌验证 Laravel is a wonderful PHP framework that makes building applications with PHP a lot o ...

  8. google authenticator python_谷歌验证器 Google Authenticator工作原理

    很多人都听过谷歌验证 (Google Authenticator) 或用过谷歌验证 (Google Authenticator) .尤其是随着比特币等虚拟货币的兴起,各大交易所都要求绑定谷歌验证 (G ...

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

    一.什么是谷歌身份验证器? 不少网站在登陆或者操作时都需要谷歌身份验证器(Google Authenticator),就是说在输入用户名和密码之后还需要输入一个动态密码,而这个动态密码由手机APP谷歌 ...

最新文章

  1. ggplot2版聚类物种丰度堆叠图
  2. 太阳系“首个星际访客”未被探测到人工信号
  3. sudo 密码超时时间
  4. 通过Corosync实现Mysql高可用,以及LVS+ldirectord高可用并状态检测
  5. 8.17——继续熟悉linux的命令行
  6. UA PHYS515A 电磁理论V 电磁波与辐射4 反射与折射
  7. 在python中使用sort_Python中的sort()方法使用基础教程
  8. mybatis初始化过程
  9. springmvc+mybatis+dubbo+zookeeper分布式架构
  10. 前端开发中那些不招人“待见”的功能
  11. bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能
  12. ASP.NET----实现点击按钮或链接弹出登录对话框
  13. 1.3_bubble_sort_冒泡排序
  14. 分区丢失导致文件丢失?巧用EasyreCovery找回
  15. 高并发高负载系统架构-php篇
  16. java实现将汉字转为拼音并包含音调
  17. 泽林主办前沿IT技术分享峰会隆重召开,深度探讨人工智能、大数据与物联网 的未来发展趋势
  18. 那些高中时曾经背得烂熟的古文(滕王阁序,阿房宫赋, 兰亭集序 , 师说,蜀道难 ...)再一次读读吧,慢慢的读,突然很想哭...有些岁月果真不曾忘怀
  19. <JVM上篇:内存与垃圾回收篇>01-JVM与Java体系结构
  20. PostgreSQL 生成空间热力图

热门文章

  1. 使用kubeadm部署k8s(2、k8s集群部署)
  2. facebook推广有哪些运营技巧?
  3. 使用PDF编辑器进行PDF合并与PDF页面提取
  4. 「Hortic Res」APETALA2的同源物CaFFN可调节辣椒的开花时间
  5. 硬盘 SMART 检测参数详解
  6. 计算机工程学院迎新生,计算机工程学院举办“青春相约,梦想同行”迎新晚会...
  7. vmware“增强型虚拟键盘”键呈灰色不能修改状态
  8. Vue前端文本对比DIFF
  9. 迅雷极速版阻止自动更新(亲自摸索出来,可用)
  10. 颈椎病的成因及治疗预防方法