php 实现 二维码 扫描登录

admin9年前技术文档1731

本文转载自: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




分享到:

相关文章

SQL DISTINCT去掉重复的数据统计方法

备注:SELECT `log_id`,count(*) as count FROM `dp_im_chat` GROUP BY&n...

git的几个小技巧

git的几个小技巧

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

redis-shake数据同步&迁移工具

redis-shake数据同步&迁移工具

简介: redis-shake是阿里云Redis&MongoDB团队开源的用于redis数据同步的工具。  redis-shake是阿里云Redis&MongoDB团队开源的...

PHP利用Curl模拟登录并获取数据例子

PHP利用Curl模拟登录并获取数据例子

几乎所有的程序员来模仿用户登录或抓取数据都会使用到curl函数,下面我来给各位介绍利用curl函数实现登录并抓取数据,希望下面例子对各位有帮助。PHP的curl()在抓取网页的效率方面是比较高的,而且...

vue配置iframe父级窗口通信

在router/index.js中配置export default new Router({   scrollBehavior: ()&n...

php批量下载图片

假如现在我现在发现一个网站上的图片保存方式是1001 – 1999目录下都存放着从1开始(数量不等)的.jpg图片,现在我决定用php的方法将图片按照自己需要的样式直接下载到本地...

发表评论    

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