骗子我就是用微信扫码支付的钱扣了可是等了一天登录帐号还不是迅雷会员一天体验卡

&>&&>&&>&&>&微信扫码支付和支付宝扫码支付代码
微信扫码支付和支付宝扫码支付代码
上传大小:19KB
微信扫码支付和支付宝扫码支付代码
综合评分:4(75位用户评分)
所需积分:0
下载次数:1780
审核通过送C币
创建者:jerryshen
创建者:andy8921
创建者:jin80506
课程推荐相关知识库
上传者其他资源上传者专辑
开发技术热门标签
VIP会员动态
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
android服务器底层网络模块的设计方法
所需积分:0
剩余积分:720
您当前C币:0
可兑换下载积分:0
兑换下载分:
兑换失败,您当前C币不够,请先充值C币
消耗C币:0
你当前的下载分为234。
微信扫码支付和支付宝扫码支付代码
会员到期时间:
剩余下载次数:
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:关于微信支付:谁来扫码,谁来支付,是一个怎样的逻辑? - 推酷
关于微信支付:谁来扫码,谁来支付,是一个怎样的逻辑?
微信支付已经越来越深入的我们的生活了,我现在基本上买东西都要问一问能否微信付款,如果能我一定选择微信支付。用了这么长时间一直也没有觉得微信支付有什么不妥,直到上周看到一位咖友提问说微信支付有时候是付款方展示二维码收款方扫描收款,但有时候是收款方展示二维码,付款方扫描付款,这完全是一个相反的逻辑,微信支付为什么会在一套支付系统里设置两种完全不同的支付逻辑呢?
我们先来看一下使用微信支付付款的两种不同方式:
那么,哪一种更符合用户习惯呢?如果拿传统的现金交易来类比的话,第二种方式是收款方告知付款方你应该给我多少钱,然后付款方从钱包里拿出相应数额的钱给收款方,而第一种则是付款方把钱包打开然后跟收款方说:你自己从钱包拿钱吧!
其实不用过多分析,肯定是第二种,因为第二种对用付款户而言有两个好处:
1、有安全感,出于一种对收款方天生的不信任,作为付款方的用户肯定是希望支付多少钱由自己决定,而不是由收款方决定。
2、责任转移,将核实支付数额是否准确的责任转移给了收款方,付款方落得个清闲
而第一种收款方式则刚好相反,支付用户没有安全感,总是怕多扣钱,最后核实扣款是否准确的责任还落在了支付用户的身上,视用户体验如命的微信为什么还要推出用户体验很不爽的第一种支付方式呢?而且 ,对支付用户而言,完全相反的两种逻辑还会让用户混淆。同时,第一种支付方式门槛相对也比较高:
1、对硬件支持要求较高,扫码枪、收银系统等
2、对收款方研发能力有要求,需要将硬件设备和收支双方的账号连接打通,需要有比较高的研发能力才行。
为什么这一种收款方式的使用门槛这么高呢,其实只有一个目的---收款速度,扫码枪的通讯协议不是我们常用的移动网络,它的通讯要稳定的多,速度也更快,如果大家经常使用微信进行支付的话应该会发现,使用这种支付方式的基本上以大中型超市为主,而这种场景下的收款方对收款速度要求很高,否则超市根本不会接入这种收款方式,而且,对微信而言,搞定一家连锁超市意味着微信支付用户规模的暴增,市场占有率的大规模提升。
当然,类似收款方自主扣款这种支付方式并不是微信首创,我们平常在超市的刷卡消费跟微信的这种支付方式是完全一样的,只不过一个是刷卡一个是扫码而已,而且,扣款多少并不是人工输入,而是收银系统决策,经过这么长时间的市场培育,人们对超市的收银系统的信任其实要高于个人输入,而且,正是因为这种对系统决策的信任,所以,对于核实付款数额是否准确的责任很多支付用户往往也就淡化甚至不是立即执行,最多扫一眼小票,所以,在大中型超市这样的场景下,第一种支付方式所带来的信任和用于体验(支付速度快本身也是用户体验的一部分)问题也就不存在了。
所以,我们可以认为,像第一种 这样的支付方式更多的是出于支付场景和商业利益的需要。
第二种方式的好处已经说过了,那它的劣势主要就是支付速度慢,不仅是流程上多了一环,而且也可能因为网络速度等各种原因导致支付速度慢甚至支付失败。
所以,对第二种支付方式,更多的适用于个人之间以及小规模商家,小规模的商家人流量少,对于结算速度的要求并不高,而且也难以达到第一种方式的门槛要求。
另外,还有一点,第一种支付方式是需要收银员全程参与的,从扫描商品计算货款到扫描用户付款二维码完成扣款打印小票甚至帮助消费者包装商品,都是由收银员全程完成,但 大多数小规模的商家收银员和售货员两个角色其实是集合在一个人身上的,采用第二种支付方式的好处就是告诉消费者支付金额即可,剩下的全部由消费者完成,收款方只需听收款提醒即可,这样就可以抽身去服务其他顾客了。
所以,微信根据不同的支付场景开发两种支付方式是完全符合逻辑的,这一点也能看出微信对支付场景的研究是非常精准的。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致求问:现在wp上的微信能扫码支付吗_windowsphone吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:117,423贴子:
求问:现在wp上的微信能扫码支付吗收藏
RT,上星期体验会摸了摸950的真机,非常喜欢,打算入坑了,对支付宝等app的功能缺失已经有了了解,据说微信功能挺全的,不知道能不能扫码支付,可以的话基本就入手了。PS:各位前辈能不能说一下不能用支付宝,不能扫码的几年是如何过来的
京东电脑节,全民抢宝进行时!1999抢i7本,半价秒电脑,抢直降3000显示器
如果你要买功能机,欢迎入坑
能扫,但不支持付款。
只能用来添加公众号
不能扫码支付
大阴阳五行元磁宇宙星光灭绝神刀
目前的微信查看多gif图的公众号推送会崩溃,微信QQ不能像Android那样任意发文件。微信发信息不能换行(回车=发送),不能同步表情   --来自SONY XPERIA C3 DUAL Android Lollipop MR1客户端
。。。。。。
微信记得可以扫码支付的
---贴吧极速版 For UWP
苹果应用闪退弹窗怎么办?爱思助手支持应用闪退弹窗一键修复功能。
等UWP微信出来应该可以了,到时移动端甩掉支付婊
来自1%的 Lumia 640XL客户端
付现金或者刷卡,没有不强求。
---贴吧极速版 For UWP
扫人家的可以,人家扫你不行
---贴吧极速版 For UWP
微信扫码连WiFi都不行
谁还用那玩意
------来自bigger满满的microsoft lumia640骚蓝滑稽一下@ windows ? mobile ? 贴吧极速版Beta for uwp
建议你还是以备用机心态用950
扫码可以,不能支付。当初我用得最多的是在自动售货机买饮料,别的地方几乎没扫过码,而恰好友宝售货机有WP客户端可以扫码支付。
——— From Lumia 950XL
十年前你是怎么过的
现在就是怎么过得
对于软件问题呢,你方便的办法就是去WP应用商城网页版看一看,然后重点看截图。因为很多软件的寒酸样从截图就已经流露出来了…
不能扫码支付
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
部分可以扫码付款,部分不可以,不知道为什么,之前试过扫码是可以支付的能够进入输密码的界面,有一些扫码之后说不支持
可以,在学校里自动售货机上买水付过多少次了
onedrive WP体验不如iOS和Android。
我觉得应该出一个专门扫码的充电宝搭配lumia,这样就搞定了。
别人,别听够用党的
商店里面的可以扫码支付,这个我用过,没用过的不要瞎讲,一次夜宵没带钱,就用微信买单的。毕竟现在软黑特别多,请楼主注意区分。不过个人的收款码是不能扫描支付的,毕竟一些小店用的是个人的收款码,而不是微信公众的扫码支付。所以最好不要指望微信扫码支付。理智粉的实际体验。
---贴吧APPX内测版
现在谁还扫码前天我用手机滴了一下买东西妹子就过来围观了   --在无处落脚的人海里,你的停靠成为岛屿,成为陆地,成为具体。
---贴吧极速版 For UWP
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 4995|回复: 32
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-4 22:35
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望0 精华0帖子八豆9687 积分11637注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-4 22:44
楼猪你是店长还是老板级别啊?
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-4 22:48
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望0 精华0帖子八豆9687 积分11637注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-4 23:16
如何把信用卡号搞进去?要买机器?
23:15 上传
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-5 00:20
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望0 精华0帖子八豆11709 积分16088注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-5 23:59
提示: 作者被禁止或删除 内容自动屏蔽
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-6 00:58
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-6 09:37
脸皮挺厚,又来发帖推销了,骗子。
声望0 精华0帖子八豆5812 积分7516注册时间最后登录
电脑公司销售员
<em id="authorposton16-4-6 12:26
也不叫骗,就是从里面赚钱,我觉的方便就行
年老不讲筋骨为能
声望5 精华0帖子八豆7670 积分10316注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-6 13:41
这种东西看不懂,有点像传销,不知道它用什么赚钱。
看得头晕。
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-6 19:58
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望6 精华1帖子八豆13058 积分28519注册时间最后登录
<em id="authorposton16-4-6 21:07
天际游云 发表于
这种东西看不懂,有点像传销,不知道它用什么赚钱。
看得头晕。
它挣手续费啊,0.38%。
这个其实就是类似于微信扫码支付,
你外面去消费,商家有个二维码,你扫一下然后确认付款,钱就到商家那里了。
只不过这个商家是个虚拟的,商家就是你自己的借记卡。
所以扫一下,选信用卡支付,你的钱就到借记卡了。
不过要扣除0.38%-0.45%手续费
声望0 精华0帖子八豆9687 积分11637注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-6 21:52
我也小赚一笔,谢谢楼主,那个以前去珠江路机子上刷卡,烦的一米,什么没积分咯,1%咯,然后刷钱多还要分几个机器刷,然后数钱数的也累死,有这个不错,直接空中接力,直接到储蓄卡,蛮好!
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-6 23:07
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆7670 积分10316注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-7 07:33
bigfish 发表于
它挣手续费啊,0.38%。
这个其实就是类似于微信扫码支付,
你外面去消费,商家有个二维码,你扫一下然后 ...
谢谢大鱼,懂了。
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-7 08:01
海豚 发表于
骗你什么 你不是自己电话过去总部了嘛 在这鸡鸡歪歪的
江苏总代,你的上家在无锡啊?那是总部啊?骗到的钱买点书看看提高下素质。
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-7 16:52
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-7 16:58
海豚 发表于
我上家是在无锡 我骗你啥了? 无锡那边改的 你可以来我这 看看我后台有没有你的商户和名字 全给无锡那边 ...
老子问你的是转到你的无锡上家之前坑我的钱,坑小钱遭报应,多说无益,我也没指望你给钱,没能力就别装逼冒充江苏总代,装逼江苏总代承诺的佣金就要给我。比比再多也是骗子货色。你在8080一天我就给你做一天广告。
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-7 17:11
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-7 18:43
海豚 发表于
欢迎欢迎 SB
还总代,几百块都要骗的货色。继续骑你的助力车,小心安全哦,天谴噢
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-7 21:08
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆9199 积分10689注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-7 21:48
我装了app,点注册,等死了也不发验证码给我
声望5 精华0帖子八豆9199 积分10689注册时间最后登录
电脑公司部门经理
<em id="authorposton16-4-7 21:49
我装了app,点注册,等死了也不发验证码给我
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-8 00:14
海豚 发表于
你小心 你的2个仔喔 这么牛比 还要老婆出来苦钱 笑死人罗 姓翁的真是一家嗡 千万别生什么病 小心没的治 ...
你老婆跟隔壁老翁在玩呢,别天天骑着破壁助力车到处骗钱了,让它多出力多干点。
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-8 00:17
dyy 发表于
我装了app,点注册,等死了也不发验证码给我
楼猪发的东西,无任何投入就玩玩,要注册啊投资啊什么得要当心,此人心术不正,爱占小便宜,无诚信。
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-8 00:20
无诚信的结果是也占不到便宜,无锡上家把分润直接给我了。占了两个月不到千元得便宜,鼠目寸光的货色,骑着助力车冒充总代,笑死人,你上小学的儿子同学家长知道你是这样的货色都敬而远之咯。
声望5 精华0帖子八豆9740 积分13253注册时间最后登录
柜台小老板
<em id="authorposton16-4-8 00:24
骗子的光荣事迹http://bbs.8080.net/forum.php?mod=viewthread&tid=574803&mobile=yes
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-8 02:04
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-8 02:05
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
声望5 精华0帖子八豆4506 积分5531注册时间最后登录
头像被屏蔽
<em id="authorposton16-4-8 02:14
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
十二生肖o马
参加神秘活动获得
江苏电信翼友会会员
论坛元老,论坛创始到2004年间注册且发帖数大于200的论坛用户。
累计在线时长超过1000小时
宝马奔驰奥迪
BBA车主,用户在指定帖子中申请获得
别逼我变形
美系车主,用户在指定帖子中申请获得
Powered by微信扫描二维码登录网页是什么原理,前后两个事件是如何联系的?
的答案,从回答可以看得出来他对技术细节并不了解。对前端开发有了解的同学随便开个 Firebug 看看登录过程的 Net 视图基本就能大概看清楚这个过程。我个人开发过程一般是和产品说,『你们提业务要求、交互方式、性能要求等就好,技术方案我们会综合开发时间、系统架构等因素考虑』。恰好我之前也花过几个小时做过类似的验证登录过程,这里作为探讨,把产品同学的回答做个引用,解释一下其中『不技术』的地方。1. 每打开一次页面的时候会随机生成一个含有唯一uid的二维码,每次刷新页面都会不一样(这个可以保证一个uid只可以绑定一个账号和密码,如果一个uid可以绑定多个账号和密码,那么很可能你的电脑会登陆别人的微信哦);确实返回了唯一 id,但目的是为了识别用户身份,而且实际上打开这个页面的时候浏览器已经和 Server 创建了一个长连接等待确认信息。查看
的源码可以看到,这个页面在加载完毕时,也已经把很多登录后才需要的相关资源都预先加载进来了,所以长连接等待登录用户得到确认后展示用户信息的速度很快,因为无需刷页面和加载头像外的其他资源。2. 当用户使用登陆后的微信扫描该二维码的时候,会将这个id和手机上的微信账号及密码绑定,并上传到服务器;先上个图:二维码样例:
,利用我查查之类的二维码应用可以得到类似这样的地址,但并不会自动打开该地址,微信客户端针对
开头的地址做了特殊处理,会自动获取相关信息并提示确认。 在手机版微信访问这个页面进行确认时,Server已经同时获得了客户端信息,并通过之前保持的长连接告知浏览器。3. 页面每隔1秒或2秒会get请求该id对应的微信账号及密码,如果id绑定上了微信账号和密码,那么就可以请求到账号和密码,就可以自动登陆了。浏览器展示完长连接里包含的用户信息(头像等)后,会新开一个长连接等待客户端的确认操作,其 URL 类似
。从安全的角度来说,无论如何都不会让客户端获得微信帐号和密码的。要知道,密码这玩意腾讯自己都不敢保存(有兴趣的同学可以自行了解下 CSDN 明文密码泄露事件),肯定是不可能返回给浏览器的。而且从体感来看,怎么着都不可能是页面1-2秒轮询发起GET请求的,实际是通过堵塞等待的长连接,近乎实时的获得信息。 对于验证过程,Open API 一般是通过授权令牌(Token)来解决的,原理是当用户通过授权后,分配一个限定条件下的令牌(如限制本机访问、限制授权有效时间、限制同时登录设备数等),使获得授权的用户仅在有限的前提下能访问相关服务。 像计算机休眠后曾做的授权就自动收回了,这样就有效的避免了在别人电脑上(尤其是网吧)打开,但忘记关闭或退出这类安全问题了。同时,整个授权过程的验证部分在手机端进行,有效杜绝了 PC 上泛滥的各类木马、『安全工具』的监听,大大降低了帐号被盗的风险。所以说,核心过程应该是:浏览器获得一个临时 id,通过长连接等待客户端扫描带有此 id 的二维码后,从长连接中获得客户端上报给 server 的帐号信息进行展示。 并在客户端点击确认后,获得服务器授信的令牌,进行随后的信息交互过程。 在超时、网络断开、其他设备上登录后,此前获得的令牌或丢失、或失效,对授权过程形成有效的安全防护。
诸多先贤告诉我们,不要挑起事端。诸多先贤还告诉我们,要说人话。签名表明了我的态度,那我就简单说几句,喂,就几句,不要抢我的稿子!1、你用浏览器打开的时候,微信给你随机分配了一个链接,【相当于给你开了间房,房号1024,注意,只给你房号,没给你钥匙】,用二维码包装着,并且设置了有效时间【10分钟你不进房间,就给你取消】。这里面没有用户什么事情,所以不存在UID(user ID),只是一个随机的字母和数字组合。2、二维码的转码规则是统一的,所以意味着,只要是个二维码扫描软件,谁都能拿到这个链接,微信可以扫出来,我查查也可以扫出来。3、所以拿到链接没有用,重要的是谁拿到链接,微信拿到了,就可以从微信客户端发一条信息给服务器,告诉服务器,现在是谁使用了某个链接,其他二维码扫描软件,不能和微信服务器通话,所以毫无价值。【你拿到了房号,就给酒店老板打个电话,说是我,老板就知道张三又来开房了,其他人没有老板电话,知道房号也没用】4、这时候,在你刚打开的浏览器窗口里面,就知道并显示了你的信息,理论上可以直接打开聊天窗口,但是为了不突兀不尴尬,微信选择再让你在手机上做一个确认操作。【你站到你的房间门口了,老板也知道你是张三了,并且把你的那个好基友也放到了你房间里,但是谁知道你基友会在房间里干点啥?如果他正好弯腰在捡肥皂,这时候恰好你后面有人经过,房门大开大家尴尬不尴尬?所以还是老板考虑周到,他要你在电话里确认一下才给你开门,你大可以等后面没人了再开门进去】5、好了,现在你可以进去好好享用你的基友了。
有人对这个存在疑问是因为,扫码登陆有那么一点点违背直觉。违背直觉的地方在于,电脑端是如何知道是哪个微信账号扫的它?传统的登陆方法都是我告诉(输入)登陆设备我的账号密码等信息,然后就登陆了。而这个是反过来的,微信扫码,信息(二维码)是从被登陆设备(电脑)往手机(微信)传的,违背直觉的地方就在这里。信息传递的方向是反的。然而多想一步就会明白,不管是手机还是网页端,都是和微信的服务器连接的。微信在扫到码后告诉微信的服务器它扫到的是哪一个码。服务器知道当前这个码是在哪一个网页上显示的,于是这两者就联系起来了。举个例子,比如你在街上看到一个美女,你不知道她的名字等联系方式,但你牢牢的记住了她的长像。然后你跑到公安局里去通过她的长相查到了她本人,公安局联系她本人说有个人要找她,最终你们取得了联系。这里公安局就是微信的服务器,你就是微信,她就是网页端。比喻不太恰当,凑合一下吧~值得注意的是这个过程中没有用户名密码等的验证。因为这是基于一个信任来登陆的:即服务器相信能用微信扫码的话,扫码人就拥有这个微信账号的所有权。微信在首屏也提供了从手机上退出网页登陆的功能,这样即使是别人拿着你的手机扫了码在他的电脑上登陆你的微信,你也可以发现。整个过程是没有逻辑漏洞的。
使用Fiddler抓包就可以看到了啊。Web页面保持长连接,微信点击登录后POST数据,Web页面捕获到进行加载用户列表等功能。就这么个流程啊。
微信和airdroid都有扫描二维码登录的功能,实现略有差别。如果你用普通的二维码扫描工具扫描它们的二维码,微信得到一个网址,airdroid得到一个字符串,但是里面都会有一个唯一的ID,这一点是共同的。微信的方案是:在网页生成这个二维码的时候,网页就开始用ajax长轮询,对服务器请求这个UID的扫描记录,如果没有,在特定时长后(目前是27秒左右)会接到状态码408,表示应该继续下一次请求,如果接到201,那么就进入第3步什么时候有201呢,微信客户端一旦扫描了这个二维码,就会向解出来的网址发起请求,通知扫描成功(当然这个网址做了来源验证)。服务器一接收到这个请求,就从当前的查询长连接里面立即把201返回过去(如果一直没有请求,那么会在30秒内把408返回去,这就是1里面提到的两个状态码的由来)得到状态码201后,通知服务器,客户端由此也进入一个新的页面(就是那个要你点确认的按钮),原理跟上一步相同(长轮询)。这个时候你只要点击确认,服务器就开始给该客户端的用户进行自动登录,并把用户信息在这一步通过当前的某个上行的长轮询给返回出去。当然返回的方式不再是什么状态码了,而是header里面的Set-Cookie,咋就内容其实也相当于状态码:&error&&ret&0&/ret&&message&OK&/message&&skey&xxxx&/skey&&/error&这个时候浏览器就可以成功地用微信认可的任何一种认证方式(通过返回的skey和cookie里面的信息)来请求用户数据了。之所以要提一下airdroid,是因为它在有些地方是不同的,所以,扫描二维码登录这回事,在保证安全的情况下,实现方式是看你的想象力了。首先,扫描二维码只得到字符串而不是网址,避免了鉴权网址外泄其次,浏览器是能用web socket来和服务器进行通讯的,避免了长轮询(微信是考虑到中国用户的浏览器不支持ws的居多吧。这里可以顺便介绍一下微软的signalR方案,它可以根据客户端浏览器的支持情况进行自动从ws降到long pool,微信团信应该是看到这个需求没多大的意义,干脆直接用最原始的实现吧,毕竟不是做一个库)更多细节我就懒得跟踪了,哪天自己也有同样的需求再研究吧
虽然说不清楚具体的原理,但我可以肯定这里面没有什么高深的技术,因为我所带领的开发团队前段时间模仿过这个功能,已经用在了公司业务系统的登录上,安卓版和iOS版都做出来了,也没用多长时间。具体的技术细节我没有关注,但是我们是一个小公司的小团队,水平也一般,没觉得这个有难度,对大公司来说应该都不算个事。
这个我暂时没发现有人答对的,其实原理很简单:1. 每打开一次页面的时候会随机生成一个含有唯一uid的二维码,每次刷新页面都会不一样(这个可以保证一个uid只可以绑定一个账号和密码,如果一个uid可以绑定多个账号和密码,那么很可能你的电脑会登陆别人的微信哦);2. 当用户使用登陆后的微信扫描该二维码的时候,会将这个id和手机上的微信账号及密码绑定,并上传到服务器;3. 页面每隔1秒或2秒会get请求该id对应的微信账号及密码,如果id绑定上了微信账号和密码,那么就可以请求到账号和密码,就可以自动登陆了。如果大家感兴趣的话,可以继续往下看,我再补充两点:1. 其实扫描二维码登陆只是在一端未登录的情境下使用会非常方便,同时安全性非常高,因为账号和密码不会暴露给黑客,几乎不存在盗号的可能性,所以我们看到扫描二维码登陆已经使用到了腾讯qqPC客户端最新版本中。2. 手机扫描二维码登陆还解决了PC和电视端登陆输入麻烦的问题,尤其是电视端的账号和密码通常是要靠遥控器一个一个按出来,所以,扫描二维码登陆在电视端的登陆上也有了比较好的体现,乐视超级电视应该是首次实现这一功能。3. 如果PC端(或电视端,主要指乐视超级电视最新的系统中也加入了扫描二维码登陆功能)和手机客户端都同时保持登陆的情境下,并且都通过唯一id绑定,那么其中一端可直接远程控制另一端,未来在这一领域的产品想象空间非常大,例如,乐视播放页的1080P速递下载,以及腾讯手机管家的遥控PC离线的功能。
在电脑上使用时,你可能已经发现微信不提供传统的账号密码登陆,取而代之的是通过扫描二维码进行登陆。今天就要研究下次登陆方式微信时如何实现的?
1、每次用户打开PC端登陆请求,系统返回一个唯一的uid,并将uid的信息绘制成二维码返回给用户。这里的uid一定是唯一的,否则就会造成你登陆了其他用户的账号或者其他用户登陆你的账号。
2、当用户使用登陆后的微信扫描该二维码的时候,会将这个uid和手机上的微信账号及密码产生的token进行绑定,并上传到。
3、WEB通过JS不断的向后端发起请求,查询有没有关于uid的登陆记录(uid和token是否存在于服务器上)。实现代码可以从微信页面获取:
function _poll(_asUUID) {
var _self = arguments.callee,
_nTime = 0;
_sCurUUId = _asUUID;
_logInPage("_poll Request Start, time: " + new Date().getTime());
_nTime = new Date().getTime();
type: "GET",
url: "https://login." + _sBaseHost + "/cgi-bin/mmwebwx-bin/login?uuid=" + _asUUID + "&tip=" + show_tip,
dataType: "script",
cache: false,
timeout: _nAjaxTimeout,
success: function(data, textStatus, jqXHR) {
_logInPage("_poll Request Success, code: " + window.code + ", time: " + (new Date().getTime() - _nTime) + "ms");
switch (_aoWin.code) {
_sSecondRequestTime = new Date().getTime() - _sSecondRequestT
_logInPage("Second Request Success, time: " + _sSecondRequestTime + "ms");
clearTimeout(_oResetTimeout);
$.get(_aoWin.redirect_uri + "&fun=new", function(msg) {
_logInPage("new func reponse, reponseMsg: " + msg);
_reportNow("new func reponse, reponseMsg: " + msg);
var code = msg.match(/&script&(.*)&\/script&/);
eval(code[1]);
$("#container").show();
$("#login_container").hide();
_reportNow("/cgi-bin/mmwebwx-bin/login, Second Request Success, uuid: " + _asUUID + ", time: " + _sSecondRequestTime + "ms");
clearTimeout(_oResetTimeout);
show_tip = 0;
$('.errorMsg').hide();
$('.normlDesc').hide();
$('.successMsg').show();
_logInPage("First Request Success");
_reportNow("/cgi-bin/mmwebwx-bin/login, First Request Success, uuid: " + _asUUID);
setTimeout(function(){
_logInPage("Second Request Start");
_reportNow("/cgi-bin/mmwebwx-bin/login, Second Request Start, uuid: " + _asUUID);
_sSecondRequestTime = new Date().getTime();
_nAjaxTimeout = 5 * 1000;
_self(_asUUID);
setTimeout(function(){
_self(_asUUID);
_afterLoadWebMMDo(function(){
_aoWin.Log.d("500, Login Poll Svr Exception");
error: function(jqXHR, textStatus, errorThrown) {
if (textStatus == 'timeout') {
setTimeout(function(){
_self(_asUUID);
setTimeout(function(){
_self(_asUUID);
_logInPage("_poll Request Error:" + textStatus);
_afterLoadWebMMDo(function(){
_aoWin.Log.e("Login Poll Error:" + textStatus);
网页客户端每500毫秒就向服务器发起ssl请求,请求当前二维码的登陆信息,如果返回结果201,则说明已经获取扫描二维码终端相同的账号登陆授权,当返回其他结果时,将在500毫秒之后重新发起请求。
类似微信登陆场景应用场景还是很多,比如通过二维码进行设备间的授权。比如使用手机遥控 装有android系统的电视盒等。
这是“冲击-响应”式的验证机制腾讯现在网页上扔出一个随机数A客户端把这个随机数A和客户端自己的Auth Key一同返回腾讯利用A和Auth Key建立一个唯一的Session ID 按照 的说法,A直接承担了Session ID的职能,我想这是因为HTTPS保证了A不会让第三方看到,因此A是一个Secret然后网页版的微信走的是可靠的HTTPS附加说一个,腾讯很好,让采用了TLS1.2,TLS1.2可以抵御BEAST等早先TLS版本中出现的弱点如此就能确保正确的用户安全地使用了网页版微信
打开微信网页版,在浏览器生成二维码,二维码中包含登录信息和服务端给它生成了一个唯一标识码UUID,同时服务端监听服务端登录请求;html:&img id="loginQrCode" src=""&jslogin.js:window.QRLogin.code = 200; window.QRLogin.uuid = "3aea191f78ec42";在客户端使用扫一扫登录网页版时,此时uid已经登录且有访问授权码access_token信息扫描网页的二维码,获取到服务器生成的UUID,然后将access_token及UUID发送给服务端服务端验证通过后,生成登录授权码并且通知网页端网页端获得授权码后即可向服务器申请用户登录信息,完成登录原文地址:
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 腾讯视频会员一天体验 的文章

 

随机推荐