当前位置:首页 > 技术文档 > 正文内容

php 实现 二维码 扫描登录

admin10年前 (2016-08-09)技术文档1761

本文转载自:http://blog.chinaunix.net/uid-25568848-id-5596140.html

使用任意二维码工具打开二维码对应链接

http://www.vincentguo.cn/demo/scan


原理介绍:

第一步:访问登录页面,生成唯一key,例如MkhjDFL=,并且将此key 存入cache,对应值为-1 ,-1表示未登录

,key有效期我设置的为5分钟,过期就会重新生成二维码图片


第二步:生成二维码,本人使用库(https://github.com/2amigos/yii2-qrcode-helper),二维码对应的链接 

               http://www.vincentguo.cn/demo/qrcode?key=MkhjDFL=


第三步:登录页面,JS循环请求某个接口,本人接口 http://www.vincentguo.cn/demo/dologin

第四步:使用任意app,打开二维码对饮的链接。此处应该使用自己开发的App,并且App已经登录,然后使用自己的App扫描二维码,然后App请求二维码对应的链接,这样key 就可以 对应到 登录人UID,此时修改cache中key的对应值为登录人UID

第五步:由于第三步在重复请求接口,此接口如果检查到cache中的key值为登录人UID的时候,就会返回登录人信息并且保存登录态


PS:具体生成唯一key的算法,大家可以根据时间信息生成


示例截图如下:

自己可以玩玩:http://www.vincentguo.cn/demo/scan




分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:https://yuyunhe.cn/index.php/post/176.html

分享给朋友:

“php 实现 二维码 扫描登录 ” 的相关文章

Zend Studio 8打开utf-8文件出现乱码解决方法

Zend Studio 8打开utf-8文件出现乱码解决方法

今天安装了zend studio 8.0.1,运行了一个PHP程序项目(项目文件编码为utf-8),发现utf-8文件中的中文全部变成乱码了,后面终于经过寻找探索,找到了问题所 在:虽然你的项目是UTF-8编码文件,但是当通过zend studio工具运行打开时,是以工具里设定的GBK编码...

ThinkPHP分页的实现

分页类需要和查询相结合,我们可以使用ThinkPHP自带的limit方法或者page方法,目的就是为了获取当前分页的数据(也有先获取完整数据然后前端分页显示的方法,不在本文描述内容中,也不建议)。使用limit方法或者page方法是和数据库类型无关的。我们首先在数据库里面创建一个think_data...

推荐一些国内的Jquery CDN免费服务

Jquery是个非常流行的JS前端框架,在很多网站都能看到它的身影。很多网站都喜欢采用一些Jquery CDN加速服务,这样网站加载jquery会更快。之前火端网络的一些网站都是使用Google的jquery CDN,如:http://ajax.googleapis.com/ajax/lib...

阿里云上配置CentOS安装Git(小沐git安装命令全集整理版)

阿里云上配置CentOS安装Git(小沐git安装命令全集整理版)

yum install curl yum install curl-devel yum install zlib-devel yum install openssl-devel yum i...

CentOS minimal版安装图形界面的步骤

1、连接网络:CentOS minimal.iso安装好后,进入终端,默认是不开网络的,首先启用网卡, 自动获取ip.ifconfig eth0 up   www.2cto.com dhclient eth0这时候再 ifconfig 一下,就可以看见已经自动分配好IP...

LNMP一键安装包安装以及常用的SSH命令使用整理

LNMP一键安装包安装以及常用的SSH命令使用整理

如果我们使用Linux VPS主机肯定会有接触到一键安装包,比如我们接触较多的就是LAMP、LNMP、LLSMP等。麦子翻看以前的文章毕竟分享的虚拟主机较多一些,VPS 主机类的教程相对少很多(基本没有),以后在分享到一些VPS主机优惠的时候穿擦会有从基础到提升的VPS教程,一来是自己学习的记...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。