微信扫描二维码事件登录网页是什么原理,前后两个事件是如何联系的

请参考我在CSDN回答的答案, 以及我的具体实现 www(dot)88jimo(dot)com楼上说随机数的显然是错误的, 随机数有碰撞的可能, uuid 或者 某个全局自增量 还差不多.扫码登陆是一个小概率事件. 不论long pull还是轮询还是web socket也好, 不是这个方案的key point, 只不过long pull 和web socket是更优化的一个选择而已.微信在上个礼拜正式公开 登陆API 内测, 可以参考以下页面:
反对 &a data-hash=&7b7e9cb2ebaa0aad29d72c00ee46e41b& href=&///people/7b7e9cb2ebaa0aad29d72c00ee46e41b& class=&member_mention& data-editable=&true& data-title=&@朱立雄& data-tip=&p$b$7b7e9cb2ebaa0aad29d72c00ee46e41b&&@朱立雄&/a& 的答案,从回答可以看得出来他对技术细节并不了解。对前端开发有了解的同学随便开个 Firebug 看看登录过程的 Net 视图基本就能大概看清楚这个过程。&br&我个人开发过程一般是和产品说,『你们提业务要求、交互方式、性能要求等就好,技术方案我们会综合开发时间、系统架构等因素考虑』。&br&恰好我之前也花过几个小时做过类似的验证登录过程,这里作为探讨,把产品同学的回答做个引用,解释一下其中『不技术』的地方。&br&&br&&blockquote&1. 每打开一次&a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&微信网页版&i class=&icon-external&&&/i&&/a&页面的时候会随机生成一个含有唯一uid的二维码,每次刷新页面都会不一样(这个可以保证一个uid只可以绑定一个账号和密码,如果一个uid可以绑定多个账号和密码,那么很可能你的电脑会登陆别人的微信哦);&/blockquote&确实返回了唯一 id,但目的是为了识别用户身份,而且实际上打开这个页面的时候浏览器已经和 Server 创建了一个长连接等待确认信息。&br&查看 &a href=&///?target=http%3A//& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 的源码可以看到,这个页面在加载完毕时,也已经把很多登录后才需要的相关资源都预先加载进来了,所以长连接等待登录用户得到确认后展示用户信息的速度很快,因为无需刷页面和加载头像外的其他资源。&br&&br&&blockquote&2. 当用户使用登陆后的微信扫描该二维码的时候,会将这个id和手机上的微信账号及密码绑定,并上传到&a href=&///?target=http%3A//login./& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&微信网页版&i class=&icon-external&&&/i&&/a&服务器;&/blockquote&先上个图:&br&&img src=&/a6e714b115b03b60b294fce_b.jpg& data-rawwidth=&1149& data-rawheight=&454& class=&origin_image zh-lightbox-thumb& width=&1149& data-original=&/a6e714b115b03b60b294fce_r.jpg&&&br&二维码样例: &a href=&///?target=http%3A///x/ARmFYVvUzczwBl9u6Y1I& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/x/ARmFYVv&/span&&span class=&invisible&&UzczwBl9u6Y1I&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& ,利用我查查之类的二维码应用可以得到类似这样的地址,但并不会自动打开该地址,微信客户端针对 &a href=&///?target=http%3A///x/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/x/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& 开头的地址做了特殊处理,会自动获取相关信息并提示确认。 在手机版微信访问这个页面进行确认时,Server已经同时获得了客户端信息,并通过之前保持的长连接告知浏览器。&br&&br&&blockquote&3. &a href=&///?target=http%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&微信网页版&i class=&icon-external&&&/i&&/a&页面每隔1秒或2秒会get请求该id对应的微信账号及密码,如果id绑定上了微信账号和密码,那么就可以请求到账号和密码,就可以自动登陆了。&/blockquote&浏览器展示完长连接里包含的用户信息(头像等)后,会新开一个长连接等待客户端的确认操作,其 URL 类似 &a href=&///?target=https%3A//login./cgi-bin/mmwebwx-bin/login%3Fuuid%3D794ecedd804f47%26tip%3D1%26_%3D2& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&login./cgi&/span&&span class=&invisible&&-bin/mmwebwx-bin/login?uuid=794ecedd804f47&tip=1&_=2&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 。从安全的角度来说,无论如何都不会让客户端获得微信帐号和密码的。要知道,密码这玩意腾讯自己都不敢保存(有兴趣的同学可以自行了解下 CSDN 明文密码泄露事件),肯定是不可能返回给浏览器的。&br&而且从体感来看,怎么着都不可能是页面1-2秒轮询发起GET请求的,实际是通过堵塞等待的长连接,近乎实时的获得信息。 对于验证过程,Open API 一般是通过授权令牌(Token)来解决的,原理是当用户通过授权后,分配一个限定条件下的令牌(如限制本机访问、限制授权有效时间、限制同时登录设备数等),使获得授权的用户仅在有限的前提下能访问相关服务。 像计算机休眠后曾做的授权就自动收回了,这样就有效的避免了在别人电脑上(尤其是网吧)打开,但忘记关闭或退出这类安全问题了。&br&同时,整个授权过程的验证部分在手机端进行,有效杜绝了 PC 上泛滥的各类木马、『安全工具』的监听,大大降低了帐号被盗的风险。&br&&br&所以说,核心过程应该是:浏览器获得一个临时 id,通过长连接等待客户端扫描带有此 id 的二维码后,从长连接中获得客户端上报给 server 的帐号信息进行展示。 并在客户端点击确认后,获得服务器授信的令牌,进行随后的信息交互过程。 在超时、网络断开、其他设备上登录后,此前获得的令牌或丢失、或失效,对授权过程形成有效的安全防护。
的答案,从回答可以看得出来他对技术细节并不了解。对前端开发有了解的同学随便开个 Firebug 看看登录过程的 Net 视图基本就能大概看清楚这个过程。我个人开发过程一般是和产品说,『你们提业务要求、交互方式、性能要求等就好,技术方案我们…
有人对这个存在疑问是因为,扫码登陆有那么一点点违背直觉。&br&&b&违背直觉的地方在于,电脑端是如何知道是哪个微信账号扫的它?&/b&&br&传统的登陆方法都是我告诉(输入)登陆设备我的账号密码等信息,然后就登陆了。&br&而这个是反过来的,微信扫码,信息(二维码)是从被登陆设备(电脑)往手机(微信)传的,违背直觉的地方就在这里。信息传递的方向是反的。&br&&br&然而多想一步就会明白,不管是手机还是网页端,都是和微信的服务器连接的。&br&微信在扫到码后告诉微信的服务器它扫到的是哪一个码。&br&服务器知道当前这个码是在哪一个网页上显示的,于是这两者就联系起来了。&br&&br&举个例子,比如你在街上看到一个美女,你不知道她的名字等联系方式,但你牢牢的记住了她的长像。然后你跑到公安局里去通过她的长相查到了她本人,公安局联系她本人说有个人要找她,最终你们取得了联系。这里公安局就是微信的服务器,你就是微信,她就是网页端。比喻不太恰当,凑合一下吧~&br&&br&值得注意的是这个过程中没有用户名密码等的验证。&br&因为这是基于一个信任来登陆的:即服务器相信能用微信扫码的话,扫码人就拥有这个微信账号的所有权。微信在首屏也提供了从手机上退出网页登陆的功能,这样即使是别人拿着你的手机扫了码在他的电脑上登陆你的微信,你也可以发现。&br&整个过程是没有逻辑漏洞的。
有人对这个存在疑问是因为,扫码登陆有那么一点点违背直觉。违背直觉的地方在于,电脑端是如何知道是哪个微信账号扫的它?传统的登陆方法都是我告诉(输入)登陆设备我的账号密码等信息,然后就登陆了。而这个是反过来的,微信扫码,信息(二维码)是从被登…
已有帐号?
无法登录?
社交帐号登录微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的_百度知道
微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的
提问者采纳
实现略有差别。 如果你用普通的二维码扫描工具扫描它们的二维码,但是里面都会有一个唯一的ID,这一点是共同的,微信得到一个网址,airdroid得到一个字符串微信和airdroid都有扫描二维码登录的功能
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何基于微信开放接口开发企业的微信 CRM?
业内一直都在传说是天生的 CRM,可是没有人看到过微信 CRM 的真容。随着微信最新公众平台的改版和开放接口的微信认证开放,微信 CRM 离企业越来越近。汉拓科技第一时间申请认证并对接了微信开放接口,在此就详细展开一下,与大家分享如何基于微信开放接口来开发企业的微信 CRM?
企业要开发 CRM,首先要从业务架构上进行设计清楚。微信 CRM 的本质,是在微信渠道上利用微信的特点和接口而扩展的 CRM 系统。而 CRM 系统,一般可以分为五大模块:
客户、销售、营销、服务、会员,另外还有一些附属模块:产品、知识库、活动、交易、统计报表等。在确定微信 CRM 的业务架构后就可以进一步设计具体的数据模型、功能模块和接口对接了。让我们跟随汉拓科技的 SocialCRM 来一一体会一下微信 CRM 的功能模块设计。
客户管理模块
客户管理主要是微信 CRM 进行客户信息管理、客户分级分类、客户沟通关怀和客户生命周期管理的基础模块。
客户信息管理可以通过获取用户基本信息接口建立基本的客户信息档案,通过获取用户地理位置接口获取客户的位置信息,只是需要建立位置轨迹管理,而不是简单的坐标位置储存。通过关注订阅事件和取消关注事件,记录客户的关注时间和取消关注时间。
针对公众号已有的关注者,可以通过获取关注者信息接口批量获取公众号粉丝,该接口每次获取 10000 条,几个循环就可以把品牌公众号上的粉丝导入到微信 CRM 进行管理。 客户分类可以基于用户分组接口,实现公众号的分组与微信 CRM 的分组同步,客户分类后形成目标列表,是营销活动的目标对象,也是客户服务差异化的基础。
客户生命周期管理,基于客户的关注时间、取消关注时间以及当前的微信互动频率、微信互动信息方向等,建立一个粉丝的生命周期管理。
客户管理模块
服务管理模块
微信团队曾经发表过声明:不是营销,而是客户服务。的确,微信的一对一私密交互最适合做品牌的客户服务,尤其是客户服务接口开通后。服务的本质是客户发起一个请求、品牌来进行响应和反馈,循环往复直至客户满意。 初步原来是基于接收用户消息和向用户回复消息接口实现微信的收和发,但由于六秒的限制很多客户服务动作来不及做完。因此,客户服务接口出现了,它可以实现在 24 小时内回复,这样微信 CRM 可以轻松走完内部处理动作而实现对客户的微信请求的响应或答复。
客户服务管理还需要接收事件推送接口和自定义菜单,实现客户的多触发机制,这样客户可以通过自定义菜单、消息等各种方式随时发起微信请求。
但是微信客户服务最难的不是功能设计和开发,而是对微信客户服务运营的理解。微信 CRM 不仅仅是系统,更是运营,因此你如何设计微信客户服务运营的流程和 KPI?这个很关键。根据你的流程和 KPI,微信 CRM 怎么来支撑?比如当前企业的微信主要指标是到达数量、打开率、转发分享率等,但是对于客户服务而言,这个根本不足够。微信客户服务需要的是响应时间、服务水平、反馈周期、解决率等专业指标。
微信对话管理
营销管理模块
微信团队的&不是营销工具&,更多是指不是轰炸式的营销,不是天天推送消息,而是对于通道而言,对于个性化和 CRM 而言,精准营销和许可营销依旧是优化的方向之一。因此,微信 CRM 中,营销管理是需要用心设计的一个模块。
微信 CRM 的营销管理的核心是,建立拉式营销而不是推式营销。因此,建议品牌尽量放弃那种一天一推的轰炸模式,而是设计吸引客户主动触发的拉式营销。从这个角度上讲,基于消息模板单发消息接口应该限制,或者限制批量群发营销,鼓励一对一的客户事件触发的下行模板消息。
营销管理需要用到的是事件推送接口、发送位置消息接口、自定义菜单接口和扫一扫功能,通过客户触发的时间、发送的消息、点击自定义菜单以及扫码,让客户进行具体的营销活动。比如关注订阅事件触发一个最新优惠活动的下行消息、发送位置消息签到下行一个特定活动,或者点击相关活动菜单进入到营销活动的页面或者链接。
微信 CRM 可以让客户扫描二维码进入到营销活动页面。还可以通过带参数的二维码,标识这个市场活动的营销代码,客户扫码可以识别来源,这样在微信 CRM 中实现市场活动&线索的响应反馈闭环。
拉式营销的主要形态基本上就是 ,只是需要与业务运营进行融合,实现常态化。但要看企业是不是能够真正做到重构?比如日常的营销活动,必须从微信运营部门会签,看每一个营销活动是否可以增加微信元素?
微信呼叫中心
从客户服务模块延伸出来一个呼叫中心模块,为什么把微信呼叫中心单独拎出来专门讲?是因为呼叫中心是大 CRM 的一部分,但是又因为业态特殊所以独成一体。针对呼叫中心的设计,比较特殊,而且可以用在客户服务上,也可以用在销售外呼上,甚至来进行营销活动的预热或者邀约等。
由于一对一的主动单发是受限的,因此微信的销售模块就不单独设计了,部分功能而是融合在微信呼叫中心里面。
微信 CRM 的呼叫中心模块,可以基于自定义菜单接口,实现呼叫中心的 IVR 交互菜单,同时再单独开发模块实现多用户和智能分配,实现不同菜单分配到不同用户或用户组,这是呼叫中心最基本的 IVR 和 ACD。
由于呼叫中心多语音的特点,以及座席客服都是声音甜美,所以需要通过语音识别接口实现对语音微信呼叫的识别和转换,同时通过多媒体文件接口实现微信语音呼叫的备案(专业术语叫录音系统)和质检功能,并可以通过多媒体文件接口回复实时的或者预录制好的语音。
微信 CRM 的呼叫中心模块偏重于微信客服坐席的运营管理,最难的也是业务设计而不是系统。比如微信座席是与传统座席混排还是独立?这直接涉及到呼叫中心模块的设计。
微信智能交互引擎
会员门户模块
说到会员,最好的案例就是陈坤的公众号,他基本上实现的是一个会员微信门户,用到的功能主要是 Oauth2.0 授权接口,实现网页上的获取信息等动作。
微信 CRM 的会员模块可以通过设计 HTML5 的会员掌上门户网页,同时对接微信 CRM 的客户管理等模块,形成微信 H5 会员门户+微信 CRM 的完整管理体系。
以此类推,你可以利用 Oauth2.0 授权接口+HTML5 实现企业的其他微信门户,比如掌上网站、企业门户、内部 OA 等等。这块不属于微信 CRM,叶开就不赘述了。
统计报表管理
微信 CRM 的统计报表管理,这块功能是不可或缺的,但又是最难伺候的,因为是要给老板看的。微信的开放接口并没有跟数据相关的,因此可能很多东西要你自己来想办法了。
首先,基于前面讲的关注、取消关注等数据,统计用户的新增、流失对比分析;
其次,基于前面讲的微信交互的时间、方向等数据,设计微信交互的统计分析;
然后,再高深点儿的是在市场活动中对
的跟踪、管理和效果,形成市场活动的效果响应统计,也就是 ROI 分析;
其实吧,如果腾讯移动分析的 API 能够开放,那你的微信内容的到达、阅读、分享转发等数据就可以成为微信 CRM 的统计报表中很重量级的报表了。
仪表盘/统计报表管理
最后,聊一下微信大数据的构建。虽然微信的获取用户信息比较少,只有四五项,但这才是真正&逼迫&你在交互中设计碎片化数据的采集。通过微信 CRM 设置交互索引很关键,对话中的语义分析、点击不同菜单的事件等都可以对应标签,每一次的时间、地理位置等都是时间空间数据,这些组合起来就是微信 CRM 的大数据,不要小看喔,看看你能够从这里面分析出什么宝贝来?
基于微信的开放接口设计企业的微信 CRM,基本上讲完了。建议尽快去申请微信认证,这样就可以对接进来,早日实现你的微信 CRM,当然微信认证拥有普通认证的全部权利,比如搜索可见、认证标识等等。悄悄的透露一下,微信认证的企业有可能向微信团队的市场经理单独申请微支付接口,好处你晓得啦。
微信 CRM 对于企业而言,还是一项基础服务,汉拓科技已经有成熟的系统,企业可以自己开发,也可以来合作,这方面是开放的。说基础服务,主要是在与企业更重要的是增值服务,因为企业的运营价值往往体现在微信 CRM 上的增值应用,比如 O2O、联合促销、口碑传播、促销引擎等,这方面汉拓科技邀请有诚意、有创新意识的中型企业进行合作试点,共同打造微信 CRM 上的创新应用。
好吧,严肃的设计话题讲完了,我们来猜测一下:微信会不会自己开发 CRM?怎么,这个很难猜测呢,那你来猜测一下:你会不会自己开发微信 CRM?
本文来源分享微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的_百度知道
微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的
提问者采纳
网络断开,并在客户端点击确认后、或失效,通过长连接等待客户端扫描带有此 id 的二维码后、其他设备上登录后每次打开网页版的时候,有效完成了安全防护,从长连接中获得客户端上报给 server 的帐号信息进行展示,会随机生成一个的二维码,此前获得的令牌或丢失,进行随后的信息交互过程。 在超时,获得服务器授信的令牌。浏览器获得一个临时 id,每次刷新页面都会不一样
其他类似问题
为您推荐:
二维码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁7.6亿微信用户快保护好二维码,微信支付现新骗术!--百度百家
7.6亿微信用户快保护好二维码,微信支付现新骗术!
分享到微信朋友圈
又一微信支付骗局,你看了吗?
今天下午,“微信派”推文针对因发付款码截图被骗的事情教育用户。
微信支付惊现骗局?
最先发布微信支付骗局的是公众号“终结诈骗”,事情的经过是这样的:
(图片来自公众号“终极诈骗”)
截图显示,骗子以“微信当日转账支付金额超限”为由,骗取微信付款的二维码,然后通过扫描二维码完成支付过程,钱也就成功地骗到手了。
其实,一看到截图的时候,果酱妹是认为这样的对话不太符合逻辑的。首先,转账支付金额超限,就是说当日不能再转账了。但索要付款码,应该是要收款的才对吧,这跟转账支付金额超限好像没太大关系吧?
莫非是她打错字,是收款金额超限?于是,果酱妹去找了一下关于转账与收款的限额问题。
若无绑定银行卡,收款方的日限额是3000元,假如索取付款码的是微商,那还是有可能的。后来才发现,原来是被骗者把收款二维码和付款码弄混了,本来是要收钱的,却把付款码截图发了出去。
微信付款码有何隐患?
通过这次事件,付款码存在的隐患也被揭露出来。
微信付款码的设置本是为了让支付更便捷,当人们买单时,只要在微信钱包中点击“付款”,就会出现一个条形码+一个二维码,商家只要扫描二维码,就可以完成快捷支付。
但是,这也存在一个漏洞:虽然微信付款码一次性有效,每分钟更新,但其是可以直接截图的,只要骗子在短时间内得到截图,就能够达到骗钱的目的。
有人可能会觉得截图中的被骗者有点傻,但是要知道,现在的骗术层出不穷,这个问题一日不解决,就仍然有可能会有人上当。
假设,一个你经常光顾的微商说,TA今日的收款额超限了,让你把付款码发TA一下,你在没有防备的情况下,是不是有可能会发给TA?
再假设,一个跟你很要好的朋友跟你说,TA今日的转账额超限了,但是TA没有带现金,现在正在实体店铺准备微信支付,让你先把付款码发给TA,明天再把钱转回给你,你是不是可能会答应?
目前,微信和We Chat合并月活跃用户数已达7.62亿,而今天“微信支付智慧生活”透露,前一季度的微信支付绑卡用户量就已经超过3亿,加上新增用户和没绑卡的用户呢?如此庞大的基数,总不免有一些人对微信支付只知道皮毛,而被诈骗分子利用的。&
微信将出台相关安全措施?
公众号“终结诈骗”还将微信与支付宝的付款二维码进行了对比。对比发现,当用户想要对支付宝的付款二维码进行截图时,支付宝就会识别出这个“危险”的操作,并弹出提醒窗口。
而果酱妹在实践的过程中发现,并非所有手机都会弹出提醒窗口,有些手机是无法截图的。
针对这点,微信派在文中表示“预计在下一个版本中大家就会看到针对付款码截图的相关安全措施及提示”。
其实,除了付款码截图的安全问题,微信转帐的问题也让不少用户苦恼。在微信转账的过程中,有些人可能会不小心转错对象,或者是转账后才发现被骗了。一旦这种情况发生,转账人只能自吃苦果。
但如果微信能够像支付宝一样在大额转账时让用户手动输入收款人的姓名,是否就能减少错误的机会?
如何避免微信支付骗局?
那么,在微信支付还没上线新版本前,大家可以做些什么来防止骗局呢?
?不要随便把付款码截图发送出去。正如微信派所言,无缘无故向你要付款码截图的人99%是骗子!
?设置手势密码。由于付款码对1000元以内的交易免密支付,设置手势密码可以避免他人拿到你的手机进行消费。
?不要放太多金额在余额中,如果需要绑定银行卡,尽量不要把工资卡也绑进去,银行卡密码不要与支付密码一致。这样,即使手机被偷,也可以减少伤害。
微果酱&&|&&网易女编辑 &| &视频原创 &| &
图片原创 &| &“有赞”收费&| &玩车教授&
抢注商标&&| &papi酱 &| &iphone版后台
公众号盗号 &| &视频自媒体 &| &城市自媒体
〈 作者| Wenny 〉
〈 爆料热线| fengyi8934 〉
〈 本文为微果酱综合整理〉
欢迎转载,请注明出处
分享到微信朋友圈
在手机阅读、分享本文
还可以输入250个字
推荐文章RECOMMEND
阅读:12万
阅读:27万
热门文章HOT NEWS
今年2月,印度手机厂商Ringing Bells发布了一款售价...
牛老师商业评论
港股挖掘机
新榜——内容创业服务平台
百度新闻客户端
百度新闻客户端
百度新闻客户端
扫描二维码下载
订阅 "百家" 频道
观看更多百家精彩新闻

我要回帖

更多关于 扫描二维码登录原理 的文章

 

随机推荐