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

php 实现 二维码 扫描登录

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

本文转载自: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 实现 二维码 扫描登录 ” 的相关文章

如何快速去除代码前的行号

如何快速去除代码前的行号...

PHP分页函数仿Google分页

/**  * 分页函数  * @param int $total    总页数  * @param int $pagesize 每页几条 &n...

php检查用户名是否符合规定

<?php   /**  * 检查用户名是否符合规定 (两个字符以上,只能有中文,字母,数字,下划线的)  *  * @param STRING $username 要检查的用户名...

抓取最近八天天气(非利用接口,直接从网站提取)

<?php    /*     *特别注意,第一天没有最高气温数据,第八天没有最低气温数据     *注意对数字进行过滤时不要忘记对负号进行判断   &nb...

利用ctrl+v实现粘贴截图完成上传功能

<?php header("Access-Control-Allow-Origin:*"); $url  = 'http://'.$_SERVER['HTTP_HOST']; $file =&nb...

git的几个小技巧

git的几个小技巧

分享git的几个小技巧,后面会根据使用补充。目前包括git撤销本地修改、git回退到前n个版本、git多用户提交冲突解决、git 命令简化。欢迎大家补充^_*1、git撤销本地修改 Java git reset --hard origin/ma...

发表评论

访客

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