Thinkphp5 谷歌验证
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 谷歌验证相关推荐
- java项目集成谷歌登录验证器,给网站添加谷歌验证(我不是机器人)
1.去谷歌网站.(如果没有谷歌gmail,也许还要注册gmail并登陆) 2.注册要验证的网站. Label中随意填写个标签. 'Choose the type of reCAPTCHA'中选择验证类 ...
- laravel 加谷歌验证
谷歌验证这里使用的Google的两步验证一样,使用 TOTP 或 HOTP 算法生成一次性密码,一次性密码只有在生成当时使用才有效. 当您登陆时,您需要输入用户名密码,同时也需要输入手机上的两步验证码 ...
- 计算机器怎么验证,谷歌验证器【设置步骤】
喜欢使用电脑的小伙伴们一般都会遇到win7系统谷歌验证器的问题,突然遇到win7系统谷歌验证器的问题就不知道该怎么办了,其实win7系统谷歌验证器的解决方法非常简单,按照 1:首先打开手机上的应用商店 ...
- 关于WEB页面处谷歌验证的接入
首先我们需要认识到什么是reCAPTCHA reCAPTCHA 验证"机制可以提供保护,避免发生由机器人导致的垃圾邮件或滥用. 通过此机制,将向用户显示一个Web 页面,其中包含Google ...
- laravel-admin加谷歌验证器
示意图 添加谷歌验证首先需要 参考: Laravel-admin 登录添加图形验证码 构建一个自己的登录系统 安装扩展 composer require "earnp/laravel-goo ...
- PHP设置谷歌验证器(Google Authenticator)实现操作二步验证
使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码.实现Google Authenticator功能需要服务 ...
- laravel集成谷歌验证_如何将Google的两因素身份验证添加到Laravel
laravel集成谷歌验证 Laravel is a wonderful PHP framework that makes building applications with PHP a lot o ...
- google authenticator python_谷歌验证器 Google Authenticator工作原理
很多人都听过谷歌验证 (Google Authenticator) 或用过谷歌验证 (Google Authenticator) .尤其是随着比特币等虚拟货币的兴起,各大交易所都要求绑定谷歌验证 (G ...
- PHP实现谷歌验证器二次验证
一.什么是谷歌身份验证器? 不少网站在登陆或者操作时都需要谷歌身份验证器(Google Authenticator),就是说在输入用户名和密码之后还需要输入一个动态密码,而这个动态密码由手机APP谷歌 ...
最新文章
- ggplot2版聚类物种丰度堆叠图
- 太阳系“首个星际访客”未被探测到人工信号
- sudo 密码超时时间
- 通过Corosync实现Mysql高可用,以及LVS+ldirectord高可用并状态检测
- 8.17——继续熟悉linux的命令行
- UA PHYS515A 电磁理论V 电磁波与辐射4 反射与折射
- 在python中使用sort_Python中的sort()方法使用基础教程
- mybatis初始化过程
- springmvc+mybatis+dubbo+zookeeper分布式架构
- 前端开发中那些不招人“待见”的功能
- bootstrap table 分页_Java入门007~springboot+freemarker+bootstrap快速实现分页功能
- ASP.NET----实现点击按钮或链接弹出登录对话框
- 1.3_bubble_sort_冒泡排序
- 分区丢失导致文件丢失?巧用EasyreCovery找回
- 高并发高负载系统架构-php篇
- java实现将汉字转为拼音并包含音调
- 泽林主办前沿IT技术分享峰会隆重召开,深度探讨人工智能、大数据与物联网 的未来发展趋势
- 那些高中时曾经背得烂熟的古文(滕王阁序,阿房宫赋, 兰亭集序 , 师说,蜀道难 ...)再一次读读吧,慢慢的读,突然很想哭...有些岁月果真不曾忘怀
- <JVM上篇:内存与垃圾回收篇>01-JVM与Java体系结构
- PostgreSQL 生成空间热力图
热门文章
- 使用kubeadm部署k8s(2、k8s集群部署)
- facebook推广有哪些运营技巧?
- 使用PDF编辑器进行PDF合并与PDF页面提取
- 「Hortic Res」APETALA2的同源物CaFFN可调节辣椒的开花时间
- 硬盘 SMART 检测参数详解
- 计算机工程学院迎新生,计算机工程学院举办“青春相约,梦想同行”迎新晚会...
- vmware“增强型虚拟键盘”键呈灰色不能修改状态
- Vue前端文本对比DIFF
- 迅雷极速版阻止自动更新(亲自摸索出来,可用)
- 颈椎病的成因及治疗预防方法