如果不清楚Google身份验证器是个什么东西的,建议先去了解一下,再回来看此篇文章,会更好理解一些。

GitHub上有对Google Auth的php实现封装,这里直接拿下来用,可从以下地址自行获取GitHub Google Authenticator

要使用Google Auth就需要先做好关联,支持的两种关联方式分别是“扫码”和“秘钥”,都有完整的支持。

<?php
require_once "../GoogleAuthenticator/PHPGangsta/GoogleAuthenticator.php";
$obj = new PHPGangsta_GoogleAuthenticator();
//在这里生成秘钥,如果使用用户输入秘钥的关联方式,就将这段秘钥展示给用户
$sec = $obj->createSecret();
//如果使用扫码的方式进行关联,就可以使用下面的方法来生成二维码展示给用户
$url = $obj->getQRCodeGoogleUrl('liangcs2', $sec);

getQRCodeGoogleUrl方法的第一个参数,是关联后展示在Google Auth中的信息,如下所示:

这样,账号关联就创建好了。
此时,用户在进行登录的时候,就可以输入Google Auth提供的6位动态码来进行二步校验了。

<?php
require_once "../GoogleAuthenticator/PHPGangsta/GoogleAuthenticator.php";
$obj = new PHPGangsta_GoogleAuthenticator();
$dyncCode = $_POST['dynamic_code'];
//对用户输入的6位动态码进行校验,参数$sec是与此用户关联的秘钥
$ret = $obj->verifyCode($sec, $dyncCode);
if($ret) {echo "login success\n";
} else {echo "login fail\n";
}

至此,php与Google Auth的接入就完成了,包含了比较完整的”引入->生成->关联->校验"操作,再根据实际的业务需求做一些适配,就能明显的增强我们账号体系的安全性了。

php接入Google身份验证器相关推荐

  1. 两步验证杀手锏:Java 接入 Google 身份验证器实战

    转载自   两步验证杀手锏:Java 接入 Google 身份验证器实战 什么是两步验证? 大家应该对两步验证都熟悉吧?如苹果有自带的两步验证策略,防止用户账号密码被盗而锁定手机进行敲诈,这种例子屡见 ...

  2. Java web接入google身份验证器二次验证

    实现原理参考: https://blog.seetee.me/post/2011/google-two-step-verification/ 第一步: maven工程加入依赖 <dependen ...

  3. linux 利用Google身份验证器配置ssh完成双重登录验证

    一:准备一台linux 操作系统 在Ubuntu上安装Google身份验证器 sudo apt-get install libpam-google-authenticator -y 在centos上安 ...

  4. 使用google身份验证器实现动态口令验证

    最近有用户反应我们现有的短信+邮件验证,不安全及短信条数限制和邮件收验证码比较慢的问题,希望我们 也能做一个类似银行动态口令的验证方式.经过对可行性的分析及慎重考虑,可以实现一个这样的功能. 怎么实现 ...

  5. Java使用google身份验证器实现动态口令验证

    google身份认证器服务端key的生成和它生成的随机密码的验证: 客户端和服务器事先协商好一个密钥K,用于一次性密码的生成过程,此密钥不被任何第三方所知道.此外,客户端和服务器各有一个计数器C,并且 ...

  6. 关于Google身份验证器、基于时间的一次性密码 (TOTP)算法的初步了解

    一.Google Authenticator 1.概述 Google Authenticator是基于双因素身份验证 ( 2FA ) 的应用程序,有助于识别用户身份并确认用户声称自己是谁以及他是否真的 ...

  7. Google身份验证器操作步骤

    ctrl+alt+printScreen 截图  q+tab 补齐 一. 搜索Google Authenticator ssh date -s "2015-6-25 17:24" ...

  8. 【SpringBoot】61、SpringBoot中使用谷歌身份验证器(Google Authenticator)实现二步身份验证

    Google 身份验证器 Google Authenticator 是谷歌推出的基于时间的一次性密码 (Time-based One-time Password,简称 TOTP),只需要在手机上安装该 ...

  9. 使用google authenticator(谷歌身份验证器)打造用户登录动态口令

    google authenticator php 服务端 使用php类 直接下载 https://github.com/PHPGangsta/GoogleAuthenticator/raw/maste ...

最新文章

  1. 51nod 1225 余数之和(数论)
  2. cudnn下载_记录新电脑安装Ubuntu18.04,CUDA, cuDNN全过程
  3. error restore 01
  4. Unity3D之NGUI基础5:UISprite显示图片
  5. 在OSPF网络中,如何判断LSA的新旧?
  6. PHP 开源搜索引擎Yioop! 0.80 发布
  7. 扇贝有道180915每日一句
  8. DriverFinder(电脑驱动升级软件)官方正式版V4.1.0.0 | 最好的电脑驱动软件之一 | win10更新驱动用什么软件
  9. linux麒麟镜像,银河麒麟、优麒麟的软件源和镜像站
  10. 计算机科学与工程本科,加州大学洛杉矶分校计算机科学与工程本科申请条件.pdf...
  11. nginx or apache前端禁收录,爬虫,抓取
  12. setBounds()和setSize的区别
  13. 编写一个程序,输入月份号,输出该月份号的英文名称
  14. vba里有日文粘贴出来是乱码
  15. 立创eda专业版学习笔记(3)(隐藏部分飞线)
  16. [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)EHCache版本
  17. JS中Math对象的方法
  18. Google Adsense(谷歌网站联盟)广告申请指南
  19. 信贷反欺诈风险管理体系|附欺诈策略细则
  20. SpringBoot-多模块打包与问题排解

热门文章

  1. UPC 2020年春混合个人训练第十九场
  2. Geb UI 自动化手册(4: 页面内容交互)
  3. PSINS中19维组合导航模块sinsgps详解(滤波部分)
  4. stm32cubeide烧写程序_STM32 Cube IDE 下实现 IAP —— (1) 程序跳转
  5. AliPay - Java支付宝接口开发(三)
  6. 定积分求解(1)cos(bx)*e^(-x^2)在负无穷到正无穷的积分
  7. Marvell 88NV1120固态硬盘开卡图文教程+量产开卡软件下载
  8. sqlalchemy 系列教程五-Session和scopedsession
  9. 吐槽支付宝红包:逼公鸡下蛋的后果
  10. 什么知识库工具适合小团队?看看文档管理系统+NAS的最新解决方案