大话二免费版大话3二维码获取失败框是黑的

不再自动弹出
> 正文
大话西游手游这个乌龟真脸黑 三转只开一个格子
打开微信"扫一扫"将本文分享至朋友圈。97973手游网微信号:m97973,最好玩的手游资讯。
09:05:37& &来源:
  还记得给大家看过一个匹配战斗图片么?其中有两个大仙的名字是一样的,还以为是同一个人呢!这不今天又看到两个出现这种情况的,一起来看看吧。
大话西游手游
大话西游手游
  我严重怀疑这是一个人,但是要是一个人如何打呢?好了不管了,反正我自己没有遇到过,遇到过就知道了。下面给大家看个更加厉害的。
大话西游手游
  一个男鬼气场能不能不要这么大,这气场真的有点可怕,不过你这样上了战场会被打的。你应该学的和这个男魔一样。
大话西游手游
  别人的东西卖不掉,但是他的东西一定都能卖掉,太能吹了,这吹的太厉害了。不过吹的厉害没有人领悟的厉害。
大话西游手游
  直接一只大力龟诞生了,都不带眨眼睛的。不过下面这只乌龟看到后真的就心累了。
大话西游手游
  好意思么?都三转了还没有解封第二个格子,这种情况就两个原因,一个是脸太黑了,另一个就是嗑药长大的乌龟,我觉得嗑药长大的概率比较的大一些。毕竟他就那么一点点亲密度。
  大话西游手游玩家讨论群:。更多精彩资讯、攻略请关注97973手游网大话西游手游专区。
  全民手游for大话西游手游攻略下载地址: &&&
扫描二维码下载全民手游攻略
  全民手游攻略微信公众号二维码:
扫描二维码关注全民手游攻略微信
  关于全民手游攻略
  全民手游攻略致力于为广大玩家提供最新、最全、最详尽的手游攻略,在这里你可以查询到任何你想要了解的内容。问答社区服务为玩家们提供了相互交流并相互解惑的平台,让玩家们的疑问尽快得到解决。
97973手游网声明:97973手游网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
价格:免费
类别:策略
大小:495 MB
搜索需要的App:很多程序员可能在自己的领域很厉害,但是对安全的理解有很大偏差,可以说是一团浆糊。&br&&br&先说结论:&b&扫码登陆确实可以增加安全性&/b&,而不是有些人说的安全性更差。(当然前提是和淘宝微信做出同样的水准)&br&&br&扫码登陆并不是从根本上解决安全问题的,也不是什么突破性技术,所以用密码登陆可能受到的攻击:钓鱼、中间人等等都不能被解决。但是&b&它能转移风险和控制风险。&/b&&br&&br&从扫码登陆的原理讲起:&br&原理很简单,用户用客户端扫网页上的二维码,客户端有已经登陆的 cookie ,带着这个 cookie 访问二维码内容所显示的 URL ,用户点击“同意登陆”即再发起一个 post 请求。与此同时 web 端也在不停地轮询,当客户端扫码并点击登陆之后,轮询的某个请求会返回一个 url,web端直接访问这个 url 就能得到登陆认证通过的cookie。&br&&br&1. 整个过程二维码的作用只起到了信息传递的作用,这个信息传递的“信道”相当于你手动在屏幕输入密码登陆。在你身旁有人、键盘监控、摄像头、等物体的监控下,这个“信道”是不够安全的。直接手动输入明文密码有泄露的风险,但泄露一个二维码并没有用,这个二维码完全可以是公开的,二维码-&扫码-&点击登陆每个环节都可以公开。而真正有效的 token 认证,发生在你看不见的手机客户端,通过 https 加密传输,这条信道相比输入密码要安全许多。&b&这样基本就可以把登陆环节中的一条&/b&&b&不安全“信道”排除掉,也能把“人”的一些不安全因素排除。当然,这也直接把风险转移到了手机端。&/b&&br&&br&&br&很多人说,&br&&blockquote&“如果浏览器有恶意插件、电脑中木马、网络被劫持、页面被注入了 js,把这个二维码替换成攻击方的,用户不知道,一扫,点击登陆不就被盗号了吗?”&br&&/blockquote&你都能做到替换二维码了,还要啥扫码登陆盗号啊?直接拿 cookie 不就行了?或者直接取那些密码登陆框里的密码不就行了?&br&&br&2. 登陆过程从本质上看,&b&就是用一个长期的临时 token 换取一个短期临时 token。&/b&微信、手淘客户端的 cookie中 token 的有效期是很长的,所以你几乎什么时候打开这个客户端都不需要输入账号密码登陆。web 的 token 有效期反而是非常短的,淘宝十几分钟不操作,就自动“登出”了,微信网页版时间久了也会自动登出,关闭网页也会。&br&&br&而密码可以看做是永久的 token,直到你改密码为止。用这个“永久 token”可以换取客户端、web 的 “临时”token。用“临时 token” 换“临时 token”,和用“永久 token”换“临时 token”风险是不同的。如果临时 token 泄露,像手机被偷了、丢了、换手机了,可以通过管理账户删除这个设备,相当于把这个临时token 置为失效。最不济是等这个临时 token 过了有效期自然失效。而如果明文密码泄露了,就和你把 root 密码泄露了一样,你其他user再安全也于事无补。&br&&br&你可能觉得我说的这些有点扯,但这就是风险控制,虽不是从根本上解决安全问题,确实可以提高安全性。&br&&br&3. 多一个风险监控设备。&br&我之前写过淘宝自动发货,为了维持web版的cookie有效,每分钟发一次请求作为心跳,这样一个 cookie 也最多只能有效8个多小时。最后就用手淘客户端的 cookie,模拟扫码登陆过程,每8小时多就重新登陆一次。当时觉得这扫码登陆好不安全啊,又不用输入验证码啥的。&br&&br&但是后来发现有时候扫码登陆会失败,但有时候就会成功,找不到规律。最后忽然发现,扫码登陆成功或失败居然跟我最近有没有打开过手淘客户端有关!!也就是说你光发扫码登陆环节的请求还不够,从打开淘宝到扫码,一系列“无关”请求中可能其中有几个是“风控点”,如果你不发这几个,也是无法登陆成功的。而扫码前一堆请求可能每次都不同,可能有的请求带了点验证算法,你还得分析每个请求甚至逆向客户端,这其中的时间成本大大增加。&br&&br&微信网页版也类似,可以参见这个微信机器人的项目中遇到最大的阻碍:&a href=&//link.zhihu.com/?target=https%3A//github.com/littlecodersh/ItChat/issues/70& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/littlecoders&/span&&span class=&invisible&&h/ItChat/issues/70&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& 。这个问题最后的结论差不多就是,如果微信断线超过一定时间了,那么微信网页版的 cookie也会失效了。&br&&br&倘若你的客户端 cookie 泄露,事情也不是很多人想象的那么简单,轻轻松松拿着这个 cookie 去扫码登陆就可以的。因为多了手机这样一个设备,官方有一百种方法做风险控制,而你却无可奈何被牵着鼻子走。例如,你扫码的手机的 IP 或定位在上海,而要登录的 web 却是在北京的 IP 访问的,那么完全可以拒绝登陆。通过手机其他一些传感器还能得到更多的信息,未来可发挥的空间也更大。&br&&br&4. 风险转移到客户端,专注做好客户端防御,当然微信是这么想的,毕竟微信客户端不需要考网页版推广。淘宝推荐扫描登陆肯定是有一定原因为了推广客户端,提高客户端活跃率。&br&&br&不过个人认为相比 web 端,客户端更安全一些或者说更容易做安全。因为前端的所有运行代码都是可以直接看得到的,即便 js 做了混淆压缩,但逻辑都是能看得到的。而客户端虽然也可以反编译,但相比于直接“审查元素”,门槛要高不少(可以去了解一下各种第三方“加固宝”防反编译的手段,想得到混淆后的代码这一层都很不容易,而前端则可以直接得到)&br&&br&总结一下,扫码认证的好处:&br&1. 规避人工输入密码这一不安全环节,排除相关不风险因素。&br&2. 用长期的 token 换取临时 token,控制风险。&br&3. 多一个可帮助风险监控的设备。&br&4. 转移风险到客户端,尽力做好客户端安全。&br&&br&坏处也是有一些的,比如扫码相对于密码,不会让一些人提高警惕,容易被钓鱼。但同时对于“钓鱼者”,要想实现扫码登陆的钓鱼页面比密码登陆的钓鱼要难一些(要轮询还要同步二维码状态,及时更新二维码等等),所付出的成本,可能并不能多钓到几条鱼,所以目前扫码钓鱼网站几乎没有。
很多程序员可能在自己的领域很厉害,但是对安全的理解有很大偏差,可以说是一团浆糊。 先说结论:扫码登陆确实可以增加安全性,而不是有些人说的安全性更差。(当然前提是和淘宝微信做出同样的水准) 扫码登陆并不是从根本上解决安全问题的,也不是什么突破…
总在地铁上遇到这种扫码求加微信的,跟题主一样很好奇,后来看到一篇文章,正好可以回答这个问题,文章链接如下:&a href=&//link.zhihu.com/?target=http%3A//www.pingwest.com/railway-founders/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&你或许看不起地铁上求扫码的“创业者”,但人家月入30万 | PingWest品玩&i class=&icon-external&&&/i&&/a&&br&&br&&p&下午两点,地铁六号线,呼家楼站,去往海淀五路居方向。&/p&&p&“我是创业者,能帮我扫个码么?”&/p&&p&我只顾着低头玩手机,没在意。&/p&&p&“您好,能帮忙扫码加个微信么?”&/p&&p&我这才意识到,回过头,见一小姑娘,二十来岁,淡紫色齐耳根短发,画了眉,皮肤白皙,运动装。半举着手机,另一只手扶正,屏幕正中央摆着自己的微信二维码。余光里满是她热切期盼的目光。&/p&&p&我来北京一年多,已经不是第一次遇到这样的“地铁创业者”了。印象中他们总被拒绝,说话语速极快,动作也极快,甚至有一次我只听见一个“地铁创业者”的嘴里秃噜出这样几个字“扫个微信”,没等拒绝的表情从被请求的乘客脸上浮现——不,乘客通常头都不抬,低头看着手机就把头摇了——就立马换到下一个位置,继续请求,机械不倦地重复。有时候你会觉得给他一个拒绝的表情反而是在耽误他的时间,起码得浪费 0.5 秒。&/p&&p&我的朋友几乎也都经历过,印象里大妈居多。有拿着一张打印好二维码的纸让扫的,也有三个人同时一起求扫码的,更有扫描二维码下载软件送数据线的,苹果安卓任选。至于如何应对,所有都是拒绝了,若是关注公众号,关注了之后再秒取关。也有实在拗不过,让对方加自己好友,不通过申请。&/p&&p&还有一次,在2016年2月的一个早晨,七点左右,北京冷得腿都没法分开站立。我在惠新西街南口地铁站等车,去往芍药居方向。早起没睡醒的上班族像僵尸似的吊在半空中排队等车,成十几条纵队。嗬,只见人群中钻出一个精神十足的黑小伙,快速在人群中自由穿梭,直到我面前我才反应过来他是求扫码加微信的创业者,没等我叫住他,已经一溜烟的跑掉了。至今多少都有些缺憾,因为我很想知道他创业做的是什么,但是他只说了扫码加微信,当然,因为他的脸闪过的太快了,也没记住。&/p&&p&女生似乎要温柔耐心的多,印象中她们不像男生,似乎更看重质量,会一个个人地请求,会把一句话说完:“我自己创业,是关于营养早餐的,可以扫码加一下我,谢谢。”你看,得体,还起码让我知道你做什么的。&/p&&p&&strong&但是后来才发现这种散兵游勇并不多见,地铁创业者竟然以有组织的为主。&/strong&&/p&&p&回到一开始的下午两点的呼家楼地铁站的那一刻,我和半举着手机的姑娘对峙了几秒钟。看着她期待的眼神,我松了口,加吧加吧。她很兴奋。我掂量着她估计加不到几个人,我算是难得的“战利品”。&/p&&p&“你做的什么创业项目啊?”&/p&&p&“你吃过奶昔不?”&/p&&p&“啊?”&/p&&p&就这样,我人生中第一次和“地铁创业者”产生了真正的交集。&/p&&p&坐在地铁上,一条好友申请通过的消息弹出来。好奇心驱使我迅速打开微信,点开那姑娘的相册,翻了翻,竟然没有满是特丑水印的商品图片和各种“你不努力就只能一辈子打工”这样类似的鸡汤。有点失落,判断有偏差。&/p&&p&她的朋友圈&/p&&p&成功加上好友后第一次微信对话&/p&&p&加了好友后的几天里,她既没有刷屏,头几天还会问个早午安,最重要的是她偶尔还会给我点赞评论,我简直找不到没理由删她了。相安无事。&/p&&p&在好奇心驱使下,我询问了她创业卖什么,才知道她是卖奶昔的,公司在朝阳大悦城那边还有个店。当我问及你是公司的员工么?她说不是,公司提供平台,自己是创业者,产品是公司的,赚的是顾客的服务费。&/p&&p&当她发现我看起来很有“兴趣 ”的时候,便问我要不要加入她们公司,我说可以先了解了解。于是特地约了一个周六,去了他们店里。原以为是开在朝阳大悦城里面,后来才知道是附近一座居民楼似的办公楼里。&/p&&p&随着电梯慢悠悠上浮,我心里忐忑极了,我只是想喝杯奶昔,万一掉进传销组织窝里那我约好的晚饭可就吃不成了。&/p&&p&到了,门敞开着,一进去,空间算不上大,但是光线充足,东西摆放整整齐齐,螺旋扶梯向上,简易的健身设备整齐摆放。屋里已经有了好几个人,脸上都是友善的笑容,其中一个看起来像在帮助一个略微发胖的女士称重记录。&/p&&p&略尴尬,毕竟都是陌生人,我目光游离着寻找落点,那个地铁上我加了微信的那个女孩。但立马便被招呼了过去,那个女孩带我到了一位穿着打扮都很仔细,浓眉大眼的男人面前。&/p&&p&“这是我说过的X老师,你和他聊聊呗。”&/p&&p&我点点头,坐了过去。&/p&&p&“你是想了解我们的产品还是想了解我们的事业?”X老师很认真地看着我。&/p&&p&我大脑停转了半秒,“我以为是卖奶昔的?我就想来买一杯尝尝…”&/p&&p&“我们的产品有增肥和减重两种效果…”&/p&&p&“怎么能同时增肥和减重呢?”我打断。&/p&&p&“因为我们的奶昔含有十几种营养素,如果你用来代餐就可以减肥,如果你在正常吃饭之余再喝就可以增重。”&/p&&p&“你们的奶昔怎么卖呢?”&/p&&p&“不,我们的产品是奶昔,但我们不是卖奶昔的,我们是营养顾问。”&/p&&p&“有什么区别么?”&/p&&p&“公司提供平台,我们不从产品上赚钱,我们赚取的是服务费。比如我们有很多种奶昔,你该怎么吃,在饭后还是饭前吃,应该搭配什么吃。服务费是公司付给我们。”&/p&&p&说着从货架上拿出一罐草莓味奶昔,打开,让我闻了闻。我将罐身转过来,看了看价签,三百多。&/p&&p&接下来给我展示了他们公司的产品,和各种减肥增重效果前后对比图,甚至这里的工作人员就是吃奶昔减了肥,听得我一愣一愣的。当我表示听说很赚钱之后,他们轻描淡写其实还好,就是和客户交朋友。他们之间很多都是地铁上扫码认识的,减肥或增重成功后也加入到了这个俱乐部。&/p&&p&靠个人努力,像公司会定期考核,普通人大概工资在八九千,但是高等级的营养顾问,有人甚至一个月收入达到30万,如果我有想法从事,兼职全职都可以,来店里实习就可以了。他们还会经常举行聚餐聚会,运动竞技活动,还有线下研讨会,还会隔段时间就给自己放个假,出国玩几天。比如,下周他们就说是要去澳门玩一周。&/p&&p&他们还说早就打通了线上线下,线上只做微信什么的。还建议我花了二十块钱办了会员去公司网站查看视频文字资料。当得知他们的公司还在国贸地铁站投放了广告,我惊了。&/p&&p&我交完二十元会员费后,立马告别下楼,坐地铁去了趟国贸,没成想,真的看到了…后来了解到甚至还赞助了东方卫视的节目《燃烧吧,卡路里》。 &/p&&p&&strong&按照他们的说法,拓展客户的方式有四十多种,只是看你选择,以及个人的努力和勤快程度,比较常用的是地铁扫码和口碑推荐。&/strong&地铁扫码很好理解,口碑推荐便是只要服务好了一个客户,这个客户觉得有效果就会再推荐给他的朋友,或者自己的朋友圈展示。既然大部分人都采取了这两种方式,我只能理解为这两种方式可能并没有我们想象中那么低效,或者说付出的成本可以被覆盖(毕竟服务客户多了好了,公司会给更多的钱)。这和我们很多人看到的可能不同,理所应当地认为地铁推广的方式收效会很低。&/p&&p&地铁扫码完全是零成本的推广方式,因为对于这家奶昔公司而言,如果推广失败的话,是“地铁创业者”的问题,只有确定对方会成为客户后,公司才会提供产品并付给“地铁创业者”服务费。若是要开一家俱乐部,这家奶昔公司要求必须考核获得营养师的资格证才予以认可合规。&/p&&p&若是兼职做这个也不错,只可惜我是顶讨厌吃甜食的。正寻思着,一个姑娘不知何时站在了我排队的左前方。圆框眼镜,个子不高,梳个马尾。她问另一个女生,“您能帮我扫个码么?我是自己创业的,一款奶昔产品。”被询问的那女生好像很高兴,笑着就答应了。&/p&&p&我默不作声,眼看着她一个个询问,走过来,站定在我面前。我脸上浮现出如获至宝的笑容,那女生微微后退了半步。我抢先一步,“你们家奶昔是不是叫康宝莱?”姑娘尴尬的面容顿时放松了下来:“您听过我们家产品啊?”但我接下来一句话让她尴尬了,“是啊,我认识你们一同事,也在地铁扫码认识的”。对峙了两秒,大概不知道该如何接我的话,她默默离开了。&/p&&p&回来后又问了问别人,知不知道这样一家公司的创业者们在地铁上。有不少人表示好像听过,减肥的营养早餐。但更让他们忿忿不平的是,他们见到的都是大妈求扫码,我的竟然是个女生。嘿~~~&/p&&p&更新下事情的后续,后来地铁创业者们,也就是康宝莱看到了这篇文章,发来了这样的短信威胁我删掉。并且不停地电话轰炸说公司命令你删掉,因为侵犯了肖像权,那名地铁创业者也在微信上不停地发信息询问我。最终我忍不住把她们拉黑了。&/p&
总在地铁上遇到这种扫码求加微信的,跟题主一样很好奇,后来看到一篇文章,正好可以回答这个问题,文章链接如下: 下午两点,地铁六号线,呼家楼站,去往海淀五路居方向。“我是创业者…
今天第一次尝试网页版微信! 直接懵了! 为毛?!&br&我为什么要上网页版的微信?! 还不是因为手机不能上或者不方便上。。。&br&我手机彻底死机不能运行! 而微信里有非常重要的人要联系!! &br&搞什么2微码?! 这不是脱裤子放屁嘛??!!!!! &br&2微码现在是流行了! 华丽的! 高大上了!!! &br&但! 还是实用最重要不是?!!!!!!
今天第一次尝试网页版微信! 直接懵了! 为毛?! 我为什么要上网页版的微信?! 还不是因为手机不能上或者不方便上。。。 我手机彻底死机不能运行! 而微信里有非常重要的人要联系!! 搞什么2微码?! 这不是脱裤子放屁嘛??!!!!! 2微码现在是流行…
这个二维码指向这样一个链接:&br&&a href=&http://daily.zhihu.com/download/& class=&internal&&&span class=&invisible&&http://&/span&&span class=&visible&&daily.zhihu.com/downloa&/span&&span class=&invisible&&d/&/span&&span class=&ellipsis&&&/span&&/a&&br&&br&这个链接内容之主体是一段 JS 代码,用来判断客户端的系统,跳转到不同的地方,核心之代码如下:&br&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&kd&&function&/span& &span class=&nx&&redirect&/span&&span class=&p&&(){&/span&
&span class=&nx&&location&/span&&span class=&p&&.&/span&&span class=&nx&&href&/span& &span class=&o&&=&/span& &span class=&nx&&href&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&kd&&var&/span& &span class=&nx&&url_parts&/span& &span class=&o&&=&/span& &span class=&nb&&document&/span&&span class=&p&&.&/span&&span class=&nx&&URL&/span&&span class=&p&&.&/span&&span class=&nx&&split&/span&&span class=&p&&(&/span&&span class=&s1&&'?'&/span&&span class=&p&&);&/span&
&span class=&kd&&var&/span& &span class=&nx&&query&/span& &span class=&o&&=&/span& &span class=&nx&&url_parts&/span&&span class=&p&&.&/span&&span class=&nx&&length&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&?&/span& &span class=&p&&(&/span&&span class=&s1&&'?'&/span& &span class=&o&&+&/span& &span class=&nx&&url_parts&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&])&/span& &span class=&o&&:&/span& &span class=&s1&&''&/span&&span class=&p&&;&/span&
&span class=&kd&&var&/span& &span class=&nx&&href&/span& &span class=&o&&=&/span& &span class=&s1&&'/'&/span&&span class=&p&&;&/span&
&span class=&kd&&var&/span& &span class=&nx&&ua&/span& &span class=&o&&=&/span& &span class=&nx&&navigator&/span&&span class=&p&&.&/span&&span class=&nx&&userAgent&/span&&span class=&p&&.&/span&&span class=&nx&&toLowerCase&/span&&span class=&p&&();&/span&
&span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&sr&&/iphone|ipad|ipod/&/span&&span class=&p&&.&/span&&span class=&nx&&test&/span&&span class=&p&&(&/span&&span class=&nx&&ua&/span&&span class=&p&&))&/span& &span class=&p&&{&/span&
&span class=&nx&&href&/span& &span class=&o&&=&/span& &span class=&s1&&'https://itunes.apple.com/cn/app/id?mt=8'&/span&&span class=&p&&;&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'set'&/span&&span class=&p&&,&/span& &span class=&s1&&'page'&/span&&span class=&p&&,&/span& &span class=&s1&&'/download/ios'&/span& &span class=&o&&+&/span& &span class=&nx&&query&/span&&span class=&p&&);&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'send'&/span&&span class=&p&&,&/span& &span class=&s1&&'pageview'&/span&&span class=&p&&);&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'send'&/span&&span class=&p&&,&/span& &span class=&s1&&'event'&/span&&span class=&p&&,&/span& &span class=&s1&&'app'&/span&&span class=&p&&,&/span& &span class=&s1&&'download-via-qrcode'&/span&&span class=&p&&,&/span& &span class=&s1&&'ios'&/span&&span class=&p&&,&/span& &span class=&p&&{&/span&&span class=&s1&&'hitCallback'&/span&&span class=&o&&:&/span& &span class=&nx&&redirect&/span&&span class=&p&&});&/span&
&span class=&nx&&setTimeout&/span&&span class=&p&&(&/span&&span class=&nx&&redirect&/span&&span class=&p&&,&/span& &span class=&mi&&2000&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span& &span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&sr&&/android/&/span&&span class=&p&&.&/span&&span class=&nx&&test&/span&&span class=&p&&(&/span&&span class=&nx&&ua&/span&&span class=&p&&))&/span& &span class=&p&&{&/span&
&span class=&nx&&href&/span& &span class=&o&&=&/span& &span class=&s1&&'http://s.zhimg.com/daily/zhihu-daily-1.0.1.apk'&/span&&span class=&p&&;&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'set'&/span&&span class=&p&&,&/span& &span class=&s1&&'page'&/span&&span class=&p&&,&/span& &span class=&s1&&'/download/android'&/span& &span class=&o&&+&/span& &span class=&nx&&query&/span&&span class=&p&&);&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'send'&/span&&span class=&p&&,&/span& &span class=&s1&&'pageview'&/span&&span class=&p&&);&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'send'&/span&&span class=&p&&,&/span& &span class=&s1&&'event'&/span&&span class=&p&&,&/span& &span class=&s1&&'app'&/span&&span class=&p&&,&/span& &span class=&s1&&'download-via-qrcode'&/span&&span class=&p&&,&/span& &span class=&s1&&'android-local'&/span&&span class=&p&&,&/span& &span class=&p&&{&/span&&span class=&s1&&'hitCallback'&/span&&span class=&o&&:&/span& &span class=&nx&&redirect&/span&&span class=&p&&});&/span&
&span class=&nx&&setTimeout&/span&&span class=&p&&(&/span&&span class=&nx&&redirect&/span&&span class=&p&&,&/span& &span class=&mi&&2000&/span&&span class=&p&&);&/span&
&span class=&p&&}&/span& &span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&p&&(&/span&&span class=&sr&&/windows phone|blackberry/&/span&&span class=&p&&.&/span&&span class=&nx&&test&/span&&span class=&p&&(&/span&&span class=&nx&&ua&/span&&span class=&p&&))&/span& &span class=&p&&{&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'set'&/span&&span class=&p&&,&/span& &span class=&s1&&'page'&/span&&span class=&p&&,&/span& &span class=&s1&&'/download/other'&/span& &span class=&o&&+&/span& &span class=&nx&&query&/span&&span class=&p&&);&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'send'&/span&&span class=&p&&,&/span& &span class=&s1&&'pageview'&/span&&span class=&p&&);&/span&
&span class=&nx&&alert&/span&&span class=&p&&(&/span&&span class=&s1&&'抱歉,暂不支持您的系统'&/span&&span class=&p&&);&/span&
&span class=&nx&&location&/span&&span class=&p&&.&/span&&span class=&nx&&href&/span& &span class=&o&&=&/span& &span class=&s1&&'/'&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span& &span class=&k&&else&/span& &span class=&p&&{&/span&
&span class=&nx&&__ga&/span&&span class=&p&&(&/span&&span class=&s1&&'send'&/span&&span class=&p&&,&/span& &span class=&s1&&'pageview'&/span&&span class=&p&&);&/span&
&span class=&nx&&location&/span&&span class=&p&&.&/span&&span class=&nx&&href&/span& &span class=&o&&=&/span& &span class=&s1&&'/'&/span&&span class=&p&&;&/span&
&span class=&p&&}&/span&
&span class=&p&&})()&/span&
&/code&&/pre&&/div&我说话直一点啊,这是常识,你需要多学习。&br&莫怪。
这个二维码指向这样一个链接:
这个链接内容之主体是一段 JS 代码,用来判断客户端的系统,跳转到不同的地方,核心之代码如下: function redirect(){
location.href =
var url_parts = document.URL.split('?');
var query …
&p&作为PC端应该默认密码登录,一般上网页版就是没带手机或者懒得拿手机才上的。&/p&&p&我用个电脑你还得让我把手机拿出来。我觉得是一种使用方式的绑架,根本不是什么方便和安全。&/p&&p&请专业人士解惑,电脑上输入密码就那么不安全?那岂不是每个要输入密码的网站都要配个 APP了&/p&
作为PC端应该默认密码登录,一般上网页版就是没带手机或者懒得拿手机才上的。我用个电脑你还得让我把手机拿出来。我觉得是一种使用方式的绑架,根本不是什么方便和安全。请专业人士解惑,电脑上输入密码就那么不安全?那岂不是每个要输入密码的网站都要配个…
要回答这个问题,需要先讲清楚2个概念:&br&1、二维码里有什么?&br&2、扫一下为什么会“中毒”?&br&第一个问题,现在二维码里大致有这样一些类型的数据:长文本、短文本、名片、网址、wifi配置信息、地理位置信息。&br&第二个问题,首先通俗的解释一下“中毒”的概念。中毒和生病一样,病毒需要一个生存和发展的环境,如果扫码能中毒,那么环境是谁?当然是扫码软件以及扫码软件的运行环境(通常就是手机操作系统)了。现在已知的二维码“病毒”大致有以下3种方式:&br&&ul&&li&钓鱼网址,这个严格来说不是“病毒”,属于社会工程学威胁范畴,用户只需稍有安全意识则能有效避免被骗上当。在手机上,打开一个网址本身在大多数情况下是安全的,但危险在于停留在这个打开的网站上,用户干了些什么。用户自己主动输入信用卡号、安全码,用户自己主动输入支付宝用户帐号。。。另外,网址并不等于网站入口。比如,有一类特殊的网址,叫做伪协议地址,这个也有想象力空间(但似乎没见到攻击案例),例如sms://、tel://等等,这些点击之后,在不同的系统上有可能会打开不同的应用程序,例如发短信、打电话等等。&/li&&li&HTML/JS混合代码,这是由于很多二维码软件提供了所谓的智能内容感知和识别,调用了浏览器解释引擎去承载和处理这些代码,实质上就是给“病毒”提供了“温床”,所以会“中毒”。但,就目前已知的攻击案例来说,纯第三方二维码类应用软件即使被这些浏览器客户端恶意代码攻击,在绝大多数情况下对用户造成的影响也很有限。极少数情况,可能会发生在:&/li&&ul&&li&恶意代码直接攻击浏览器解释引擎,造成内存破坏类攻击,直接获得原生应用程序级别的任意代码执行甚至是提升权限。这种问题发生的概率要远远小于PC端浏览器遭受同类型攻击的概率。主要原因是:大多数攻击程序是需要一定“行数”的代码组成的,而二维码的承载数据能力又是受限制于图片编码的容量极限的。简单理解就是:复杂攻击需要更多行数的代码,较少行数的代码只能实现较简单的“攻击”,二维码由于自身设计的“缺陷”,无法提供恶意代码存储所必要的足够空间,故攻击想象空间和影响效果有限。&/li&&li&update: &a href=&//link.zhihu.com/?target=http%3A//cve.mitre.org/cgi-bin/cvename.cgi%3Fname%3DCVE-& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&CVE -
CVE-&i class=&icon-external&&&/i&&/a& 是目前被利用最广泛(&a href=&//link.zhihu.com/?target=http%3A//www.exploit-db.com/exploits/31519/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Android Browser and WebView addJavascriptInterface&i class=&icon-external&&&/i&&/a&)、效果最好(基于这个漏洞利用的恶意代码可以执行任意Java方法)的针对安卓手机平台的网页“挂马”漏洞,那么有什么危害呢?简单来说,如果扫码软件有root权限,那么恶意代码也可以获得root权限。如果扫码软件可以访问你的通讯录,恶意代码也可以。总之,借助这个漏洞扫码软件扫一下就被安装上恶意软件、扣费程序并不是痴人说梦了。&/li&&/ul&&li&自定义的二维码应用。虽然二维码本身承载的其实就只是普通文本数据(数字、字符啥的),但有些软件给这些数据定义了一些自己的解析规则,目的是实现扫码后自动XXX或自动YYY。坏就坏在这个自动化的过程,给了数据一秒变病毒的机会。如何理解?参考Web安全里的SQL注入、XSS等,就是最典型的数据一秒变病毒的参考案例。&/li&&/ul&上面3类“病毒”,第一种可以归类为需要用户交互才能得逞的病毒,后两种可以归类为无需用户交互即可实现“感染”的病毒。&br&&br&前者在目前来说最常见,后两者攻击易得手但造成的影响大多数情况下极为有限。&br&&br&应对方式和Web时代的安全问题类似,需要几方面参与者的共同努力。&br&&ul&&li&扫码软件厂商,在提供基于二维码的新应用时,要安全的设计和实现二维码识别后内容的解析引擎,对网址的识别可以集成第三方安全厂商提供的URL黑名单查询服务,对已知恶意网址提前向扫码用户告警,并取消点击交互行为的支持。另外,扫码软件可以提供一个牛逼闪闪的安全模式(其实就是纯文本模式啦),让有安全意识和能力的用户可以先看看是什么,再决定下一步如何解析、是否允许软件自动化做XXX或自动化YYY。当然了,做产品,还可以在用户体验层面再智能一些,让用户可以更傻瓜一些点【下一步】。&/li&&li&用户要做到,一要选择知名的二维码扫描软件,二要避免打开陌生和奇怪的网址。&/li&&li&安全厂商,还和现在一样,该干嘛干嘛,多给扫码软件厂商做做推广,集成你们的恶意网址识别引擎吧。再牛逼一点,云扫码吧,所有二维码里的数据,你们先在云端看看,不良内容给消消毒就是了。&/li&&/ul&至于二维码未来的安全问题?先让我们看到二维码在未来有什么新应用吧,如果没有新应用,那么以上内容已经涵盖了二维码病毒的成因和对策。新应用?我已经预测了以上的第三种方式了。
要回答这个问题,需要先讲清楚2个概念: 1、二维码里有什么? 2、扫一下为什么会“中毒”? 第一个问题,现在二维码里大致有这样一些类型的数据:长文本、短文本、名片、网址、wifi配置信息、地理位置信息。 第二个问题,首先通俗的解释一下“中毒”的概念…
&p& 谢邀。&/p&&br&&p&根据目前已知的信息,银联二维码支付主要会有这些特点:&/p&&br&&blockquote&&p&使用场景更广泛,除了线下覆盖的中小微商户,线上也可以使用;&/p&&br&&p&&b&银联二维码后台仍然是基于实体的银行卡账户,所以和银行利益高度重合&/b&,是利用现有的银联体系基础来做移动支付,比各家银行单独运营更好;&/p&&br&&p&用户端主要依靠银联、各大银行以及中小支付机构的 App,另一端依靠支持银联二维码支付的终端;&/p&&br&&p&&b& 以后去 ATM 机不用带实体卡,只需要扫描二维码就能取款或转账。&/b&&/p&&/blockquote&&br&&p&先来看一个易观的数据:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-aea4db371a53c_b.png& data-rawwidth=&763& data-rawheight=&597& class=&origin_image zh-lightbox-thumb& width=&763& data-original=&https://pic4.zhimg.com/v2-aea4db371a53c_r.png&&&/figure&&br&&p&从图中可以看到,&b&支付宝和财付通已经占据了移动支付 87.5% 的份额&/b&,其他的中小机构饱受冷落,想从微信和支付宝手中抢地盘太难了。&/p&&br&&p&但银联的二维码支付让他们找到了靠山。银联本身是一个转接清算机构,&b&除了微信支付和支付宝以外,更多的支付机构是通过银联的通道进行结算。&/b&所以,中小支付机构会更容易接受银联的二维码支付标准,也可以借用银联的扫码支付终端,降低推广成本。对银联来说,接入的支付机构越多,规模优势也越大。&/p&&br&&p&我们看到,标准刚发布,随行付就已经宣布支持。以后也会有更多的中小第三方支付机构加入抱团,银联和中小支付机构都将成为赢家。&/p&&br&&p&其实银行对微信和支付宝的二维码支付也很无奈,之前已经采取了很多手段,比如:&/p&&br&&blockquote&&p&从银行账户往微信和支付宝充值时,对微信和支付宝收取手续费;&/p&&br&&p&和苹果、三星、华为和小米等手机厂商推出 NFC 支付。&/p&&/blockquote&&br&&p&不过这两个策略都收效很小,Apple Pay、Huawei Pay 等等不温不火。&b&相比之下,银联的二维码支付比 NFC 支付更有优势:&/b&&/p&&br&&blockquote&&p&二维码支付的习惯已经被微信和支付宝培养,银联也是顺势而为;&/p&&br&&p&以往的 NFC 支付需要用户使用相应品牌的手机,一旦更换新手机品牌,也就意味着用户消失,但银联二维码支付和手机品牌无关;&/p&&br&&p&银联以往在线下 POS 机积累了海量用户,都是潜在的银联二维码用户。&/p&&/blockquote&&br&&p&不过,&b&移动支付的推广很依赖渠道和场景,微信和支付宝这方面天然有优势&/b&,地位也比较稳固。对一个早已经习惯使用微信或支付宝的人来说,要让对方从现在起打开手机银行或银联 App 支付,不是一件容易的事。&/p&&br&&p&可以预想到的是,&b&在未来的 1 年时间里,我们会进入到一波密集的支付补贴期&/b&,咱们就等着坐享福利吧。&/p&&br&&p&&b&&i&by &a data-hash=&97cf68a6fc3f07a981c76a5d55e9a3d7& href=&//www.zhihu.com/people/97cf68a6fc3f07a981c76a5d55e9a3d7& class=&member_mention& data-editable=&true& data-title=&@Pantta& data-hovercard=&p$b$97cf68a6fc3f07a981c76a5d55e9a3d7&&@Pantta&/a& (更多精彩请关注腾讯科技官方微信“qqtech”)&/i&&/b&&/p&
谢邀。 根据目前已知的信息,银联二维码支付主要会有这些特点: 使用场景更广泛,除了线下覆盖的中小微商户,线上也可以使用; 银联二维码后台仍然是基于实体的银行卡账户,所以和银行利益高度重合,是利用现有的银联体系基础来做移动支付,比各家银行单独…
这页面的答案看了一圈也没有好的, &a data-hash=&db595b1a83e048bbe5308& href=&//www.zhihu.com/people/db595b1a83e048bbe5308& class=&member_mention& data-editable=&true& data-title=&@oneYang& data-tip=&p$b$db595b1a83e048bbe5308& data-hovercard=&p$b$db595b1a83e048bbe5308&&@oneYang&/a&的方法也不算很好,一是会有一个蛋痛的应用宝的过渡页,二是如果用户用浏览器等非微信的app扫描,就不能下载了,还是十分蛋痛。刚才就在折腾这个问题,算是找到方法了。&br&&br&下面提供的方法,Android 手机用浏览器和微信都可以扫描直接下载,不用跳到过渡页。先把成果放出来,大家可以用 Android 的浏览器和微信都扫一下这个二维码。&br&&p&&a href=&//link.zhihu.com/?target=http%3A//dwz.cn/vOjKm& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&dwz.cn/vOjKm&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&br&下面是教程。&br&现在开始默认你的应用已经上传到了应用宝……(好像还要申请应用宝微下载?教程在这里:&a href=&//link.zhihu.com/?target=http%3A//wiki.open.qq.com/index.php%3Ftitle%3Dmobile/%25E5%25BA%%%25E5%25AE%259D%25E5%25BE%25AE%25E4%25B8%258B%25E8%25BD%25BD& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&应用宝微下载&i class=&icon-external&&&/i&&/a&。)&br&&br&1、登录&a href=&//link.zhihu.com/?target=http%3A//my.qzone.qq.com/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&腾讯应用中心&i class=&icon-external&&&/i&&/a&(吐槽一下腾讯:这厮有好几个主页,入口不同主页不同……很乱,但我们暂时不管它了),找到你的APP。(再吐槽一下腾讯:不登录也可以搜索,但根本搜不出东西,而且不会提示你登录……)&br&&figure&&img src=&https://pic2.zhimg.com/7aaa018eb0a63d15376bdad_b.jpg& data-rawwidth=&951& data-rawheight=&420& class=&origin_image zh-lightbox-thumb& width=&951& data-original=&https://pic2.zhimg.com/7aaa018eb0a63d15376bdad_r.jpg&&&/figure&&br&点进去,你会看到右边有个二维码。↓↓↓↓↓↓↓↓&br&&p&&a href=&//link.zhihu.com/?target=http%3A//fusion.qq.com/app_download%3Fappid%3D%26platform%3Dqzone%26via%3DQZ.MOBILEDETAIL.QRCODE%26u%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&fusion.qq.com/app_downl&/span&&span class=&invisible&&oad?appid=&platform=qzone&via=QZ.MOBILEDETAIL.QRCODE&u=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&br&2、用浏览器或别的什么扫描之(不要用微信扫,用微信扫会得到个不一样的网址),在浏览器地址栏把这个链接复制下来。↓↓↓↓↓↓↓↓&br&&figure&&img src=&https://pic2.zhimg.com/9cdb4e0521_b.jpg& data-rawwidth=&423& data-rawheight=&474& class=&origin_image zh-lightbox-thumb& width=&423& data-original=&https://pic2.zhimg.com/9cdb4e0521_r.jpg&&&/figure&&br&&figure&&img src=&https://pic4.zhimg.com/eb5df19f2c0b4e5ac2fcd4b7ab62c013_b.jpg& data-rawwidth=&428& data-rawheight=&660& class=&origin_image zh-lightbox-thumb& width=&428& data-original=&https://pic4.zhimg.com/eb5df19f2c0b4e5ac2fcd4b7ab62c013_r.jpg&&&/figure&&br&例如知乎是这一串:&br&&div class=&highlight&&&pre&&code class=&language-text&&http://fusion.qq.com/app_download?appid=&platform=qzone&via=QZ.MOBILEDETAIL.QRCODE&u=
&/code&&/pre&&/div&太长了,我用短网址缩一下&a href=&//link.zhihu.com/?target=http%3A//dwz.cn/vOjKm& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&dwz.cn/vOjKm&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&&br&好啦,这就是生成二维码的地址=。=&br&&br&&b&故事到这里就讲完了。&/b&&br&————————————————————————————————&br&PS:其实你仔细看上面那串链接,这个appid=其实就是知乎在腾讯应用中心的APP ID,这个东西是唯一且不变的。除了这样找,你还可以在自己的&a href=&//link.zhihu.com/?target=http%3A//open.qq.com/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&腾讯开放平台&i class=&icon-external&&&/i&&/a&&&&&移动应用&&&&应用管理那里找到它。&br&&figure&&img src=&https://pic2.zhimg.com/d018d2b77f338ba2b0d7615_b.jpg& data-rawwidth=&377& data-rawheight=&290& class=&content_image& width=&377&&&/figure&例如这是我家的APP ID。(其实这算不算广告……但没办法……我进不去别人的后台啊,而且APP还不完善,没到宣传的时候= =)&br&直接把ID替换掉,就可以了,例如这样= =&br&&a href=&//link.zhihu.com/?target=http%3A//fusion.qq.com/app_download%3Fappid%3D%26platform%3Dqzone%26via%3DQZ.MOBILEDETAIL.QRCODE%26u%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&fusion.qq.com/app_downl&/span&&span class=&invisible&&oad?appid=&platform=qzone&via=QZ.MOBILEDETAIL.QRCODE&u=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&就可以做成浏览器和微信都可以扫描直接下载的二维码啦。&br&&p&&a href=&//link.zhihu.com/?target=http%3A//dwz.cn/vO0e6& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&dwz.cn/vO0e6&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&br&&br&&b&故事到这里就讲完了。&/b&&br&——————————————————————————————————————&br&PPS:如果你用 iPhone 的微信扫描上面半半的二维码,你会发现它还可以跳转到App Store,没错,你可以用一个二维码实现跨平台扫描下载。(咦?WP是什么??)&br&&br&方法也不难,只要在腾讯的应用管理里面填写iOS的信息就可以了。&br&&figure&&img src=&https://pic4.zhimg.com/f09a19655fbcfd7ac14a2c718cded23f_b.jpg& data-rawwidth=&400& data-rawheight=&556& class=&content_image& width=&400&&&/figure&&br&其实很多平台都提供这种共用一个二维码的方法,不过你想用 Android 手机在微信里面扫描下载,还得按腾讯的路子走。&br&&br&知乎不能用 iPhone 扫应用宝的二维码下载,是因为它没有设置这个┑( ̄Д  ̄)┍&br&&br&&b&好啦,故事到这里真的讲完了。&/b&
这页面的答案看了一圈也没有好的, 的方法也不算很好,一是会有一个蛋痛的应用宝的过渡页,二是如果用户用浏览器等非微信的app扫描,就不能下载了,还是十分蛋痛。刚才就在折腾这个问题,算是找到方法了。 下面提供的方法,Android 手机用浏览器和…
&b&算法每家各有不同,但大致思路是很成熟的。&/b&&br&&br&利益相关:前前前前前翼支付产品经理&br&&br&
我针对翼支付一直没有实现“离线二维码”提过多次需求,都被技术和风控以风险太高为由不予采纳了。以下是当时我作为一名产品经理试图用技术概述的方式去说服技术和风控而做的方案:&br&&br&
转载于本人博客(转载自己的也叫转载):&a href=&//link.zhihu.com/?target=http%3A//www.cnblogs.com/wensz/p/4934438.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&脱机一次性口令OTP 原理&i class=&icon-external&&&/i&&/a&&br&&br&(第5点里otp和id写反了的问题,已经修改了,谢谢评论里的朋友提醒)&br&&br&&b&脱机一次性口令OTP 原理&/b&&br&&br&&b&一、产品定义&/b&&br&
离线二维码是翼支付客户端付款码功能在网络状况差的环境下实现用户身份验证的产品。它可在初次登陆后,在无网络状态下生成实时更新的二维码,通过商家的扫码枪可实现验证。&br&&br&&b&二、技术原理&/b&&br&
离线二维码的技术原型是在行业中广泛使用的一次性口令(OTP, One-time Password),使用了该技术的产品除了有支付宝和微信,还有银行U盾、游戏令牌等硬件设备。&br&&br&在翼支付的离线二维码上,方案的设计概述为:&br&&br&1、
登录翼支付,服务器生成唯一token,通过加密方式(如https)传递到客户端。&br&&br&2、
打开付款码时,本地生成一段含有token与当前时时间戳的哈希值,如sha1(token+UnixTimestamp),转换为byte[]并截取指定长度后转换为int变量otp。&br&&br&3、
设翼支付用户账号(手机号)为int变量id。&br&&br&4、
设otp在[0,n]中,通过code=id*n+otp,即可将OTP与ID合并在同一个数字里,成为最终的条形码/二维码,并每间隔指定时间更新一次。&br&&br&5、
通过商家扫码枪扫描,服务端获取了code,通过(int)(code/n)就得到了id,通过code%n就得到了otp。&br&&br&6、
通过id找到token,通过当前时间戳与前后若干个相同间隔的时间戳以步骤2相同的方法生成对应的一组otps[],用于容许客户端和服务端之间的时间差。&br&&br&7、
将从客户端得到的otp与otps[]中的元素逐一比对,如有相同项,则为验证通过。&br&&br&&br&&br&&b&三、关于安全的讨论&/b&&br&离线二维码安全,核心就是在token的保密。&br&&br&1、
传输:token的传输经过加密,可防止传递过程中数据包被截取。&br&&br&2、
保存:token保存在app的独立空间中可能会被恶意程序获取到,这个问题理论上仅存在于已开放root权限的手机中。在产品安全的角度,只能限制root手机用户使用,解决办法可以是当客户端获知用户的手机root过以后通知服务端降低该用户的消费限额。&br&&br&&br&&br&&b&四、参考开源方案:&/b&&br&Google authenticator :&br&&br&&a href=&//link.zhihu.com/?target=https%3A//github.com/google/google-authenticator& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - google/google-authenticator: Open source version of Google Authenticator (except the Android app)&i class=&icon-external&&&/i&&/a&&br&&br&LinOTP:&br&&br&&a href=&//link.zhihu.com/?target=https%3A//github.com/LinOTP/LinOTP& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - LinOTP/LinOTP: LinOTP&i class=&icon-external&&&/i&&/a&
算法每家各有不同,但大致思路是很成熟的。 利益相关:前前前前前翼支付产品经理 我针对翼支付一直没有实现“离线二维码”提过多次需求,都被技术和风控以风险太高为由不予采纳了。以下是当时我作为一名产品经理试图用技术概述的方式去说服技术和风控而做的…
你可以去看下这篇文章 &a href=&//link.zhihu.com/?target=http%3A//cgv.cs.nthu.edu.tw/Projects/Recreational_Graphics/Halftone_QRCodes/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&cgv.cs.nthu.edu.tw/Proj&/span&&span class=&invisible&&ects/Recreational_Graphics/Halftone_QRCodes/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&它是一方面让QR code长得像输入图片,另一方面不断用识别库去尝试识别……最后取得平衡&br&&br&ps. 我也用这个文章的代码生成过头像对应的QR Code...论文作者有提供可执行程序&br&&p&&a href=&//link.zhihu.com/?target=http%3A//en.wikipedia.org/wiki/Albert_Einstein& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/A&/span&&span class=&invisible&&lbert_Einstein&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&
你可以去看下这篇文章
它是一方面让QR code长得像输入图片,另一方面不断用识别库去尝试识别……最后取得平衡 ps. 我也用这个文章的代码生成过头像对应的QR Code...论文作者有提供可执行程序
&a href=&//link.zhihu.com/?target=http%3A//open.weixin.qq.com/qr/code/%3Fusername%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&open.weixin.qq.com/qr/c&/span&&span class=&invisible&&ode/?username=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
「=」之后键入公众号的「微信号」,就可以得到公众号的二维码图片。
「=」之后键入公众号的「微信号」,就可以得到公众号的二维码图片。
&p&这是一个私有码制的二维码,和Facebook 去年推出的Messenger codes 类似。&/p&&p&Facebook Messenger 可以靠这个添加好友,打开企业主页。&/p&&p&snapchat也有一套:但是画风太清奇没法模仿。&/p&&br&&figure&&img src=&https://pic3.zhimg.com/v2-d2d7defb76_b.png& data-rawwidth=&600& data-rawheight=&227& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-d2d7defb76_r.png&&&/figure&&br&&p&Messenger Codes 的码是环形的,小程序码是从圆心出发的。fb用横微信就用竖,非常合理。小程序码的定位点是类似qrcode的三个角,,Messenger codes是上下左右。&/p&&p&这种编码方式占的空间会大一点。中间的图像留的空自然就少。&/p&&p&这种不兼容的码制好处和坏处其实是同一点:特点鲜明,用户一眼就知道,不会用其他应用扫了,坏处是只能在微信中使用。&/p&&p&其他通讯软件在做,微信这样的市场地位,做这个也是情理之中。按照腾讯的格局,小程序的目标远不止于snapchat之类,所以这个码制以后像qrcode那样开放出来也未可知。&/p&&p&此外:对比上面三个,小程序码的细节的设计比facebook的好看, 更有范儿。 &/p&&p&作为《降临》粉,非常喜欢这种七肢桶风格的图案。&/p&&p&按照以前的剧情,支付宝码很快就要出现了。横的竖的都被占了,只剩下围着圆形的斜纹了。斜纹设计好的话应该更好看。&/p&&p&ps:晚上睡不着,忍不住为支付宝码规划了一发:&/p&&br&&figure&&img src=&https://pic1.zhimg.com/v2-002878acdbedceaa26ac2468_b.png& data-rawwidth=&554& data-rawheight=&511& class=&origin_image zh-lightbox-thumb& width=&554& data-original=&https://pic1.zhimg.com/v2-002878acdbedceaa26ac2468_r.png&&&/figure&&br&&p&参考资料:&a href=&//link.zhihu.com/?target=http%3A//www.cnbeta.com/articles/tech/490579.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Facebook Messenger推出用户扫描代码&i class=&icon-external&&&/i&&/a&&/p&
这是一个私有码制的二维码,和Facebook 去年推出的Messenger codes 类似。Facebook Messenger 可以靠这个添加好友,打开企业主页。snapchat也有一套:但是画风太清奇没法模仿。 Messenger Codes 的码是环形的,小程序码是从圆心出发的。fb用横微信就用竖,…
如 &a href=&//link.zhihu.com/?target=http%3A//suflow.iteye.com/blog/1100678& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&suflow.iteye.com/blog/1&/span&&span class=&invisible&&100678&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& &br&&br&以下都是转载:(还是搬运吧。)&blockquote&&b&一、什么是二维码:&/b&&br&&b&&br&&/b&二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。&br&&br&在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等。&br&&br&1.堆叠式/行排式二维条码,如,Code 16K、Code 49、PDF417(如下图)等&br&&figure&&img src=&https://pic2.zhimg.com/30d14571dfcbf809e673ba89e02543e1_b.jpg& data-rawwidth=&140& data-rawheight=&66& class=&content_image& width=&140&&&/figure&&br&2. 矩阵式二维码,最流行莫过于QR CODE&br&二维码的名称是相对与一维码来说的,比如以前的条形码就是一个“一维码”,&br&它的优点有:二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高等。&br&&br&&b&二、QR CODE 介绍&/b&&br&&b&&br&&/b&QR(&strong&Q&/strong&uick-&strong&R&/strong&esponse) code是被广泛使用的一种二维码,解码速度快。&br&它可以存储多用类型&br&&figure&&img src=&https://pic4.zhimg.com/a967e0edf36555caccf85f_b.jpg& data-rawwidth=&816& data-rawheight=&483& class=&origin_image zh-lightbox-thumb& width=&816& data-original=&https://pic4.zhimg.com/a967e0edf36555caccf85f_r.jpg&&&/figure&&br&如上图时一个qrcode的基本结构,其中:&br&位置探测图形、位置探测图形分隔符、定位图形:用于对二维码的定位,对每个QR码来说,位置都是固定存在的,只是大小规格会有所差异;&br&校正图形:规格确定,校正图形的数量和位置也就确定了;&br&格式信息:表示改二维码的纠错级别,分为L、M、Q、H;&br&&br&版本信息:即二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块。&br&数据和纠错码字:实际保存的二维码信息,和纠错码字(用于修正二维码损坏带来的错误)。&br&&br&&b&简要的编码过程:&/b&&br&&strong&
&/strong&&br&&strong&1. 数据分析&/strong&:确定编码的字符类型,按相应的字符集转换成符号字符; 选择纠错等级,在规格一定的条件下,纠错等级越高其真实数据的容量越小。&br&&br&&strong&2. 数据编码:&/strong&将数据字符转换为位流,每8位一个码字,整体构成一个数据的码字序列。其实知道这个数据码字序列就知道了二维码的数据内容。&br&&br&&figure&&img src=&https://pic2.zhimg.com/e9de1a8e90fa73cc7bdc1d_b.jpg& data-rawwidth=&355& data-rawheight=&193& class=&content_image& width=&355&&&/figure&&figure&&img src=&https://pic3.zhimg.com/aec084d7223851aee11846_b.jpg& data-rawwidth=&542& data-rawheight=&303& class=&origin_image zh-lightbox-thumb& width=&542& data-original=&https://pic3.zhimg.com/aec084d7223851aee11846_r.jpg&&&/figure&&br&&br&数据可以按照一种模式进行编码,以便进行更高效的解码,例如:对数据:编码(版本1-H),&br&&br&1)分组:012 345 67&br&&br&2)转成二进制:&br&012→&br&345→&br&67 →1000011&br&&br&3)转成序列:
1000011&br&&br&&br&4)字符数 转成二进制:8→&br&&br&&br&5)加入模式指示符(上图数字)
1000011&br&&br&&br&对于字母、中文、日文等只是分组的方式、模式等内容有所区别。基本方法是一致的&br&&br&&strong&&br&&/strong&&br&3. 纠错编码:按需要将上面的码字序列分块,并根据纠错等级和分块的码字,产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个新的序列。&br&&br&&figure&&img src=&https://pic4.zhimg.com/f8fa1f8faded3c2e799947_b.jpg& data-rawwidth=&193& data-rawheight=&135& class=&content_image& width=&193&&&/figure&&br&在二维码规格和纠错等级确定的情况下,其实它所能容纳的码字总数和纠错码字数也就确定了,比如:版本10,纠错等级时H时,总共能容纳346个码字,其中224个纠错码字。&br&&br&&br&就是说二维码区域中大约1/3的码字时冗余的。对于这224个纠错码字,它能够纠正112个替代错误(如黑白颠倒)或者224个据读错误(无法读到或者无法译码),&br&&br&&br&这样纠错容量为:112/346=32.4%&br&&br&&strong&&br&&/strong&&br&&b&4. 构造最终数据信息:&/b&在规格确定的条件下,将上面产生的序列按次序放如分块中&br&&br&&br&按规定把数据分块,然后对每一块进行计算,得出相应的纠错码字区块,把纠错码字区块 按顺序构成一个序列,添加到原先的数据码字序列后面。&br&
如:D1, D12, D23, D35, D2, D13, D24, D36, ... D11, D22, D33, D45, D34, D46, E1, E23,E45, E67, E2, E24, E46, E68,...&br&&br&&strong&5. 构造矩阵:&/strong&将探测图形、分隔符、定位图形、校正图形和码字模块放入矩阵中。&br&&br&&figure&&img src=&https://pic1.zhimg.com/aee3fe3cd07c268dc75d4c_b.jpg& data-rawwidth=&496& data-rawheight=&419& class=&origin_image zh-lightbox-thumb& width=&496& data-original=&https://pic1.zhimg.com/aee3fe3cd07c268dc75d4c_r.jpg&&&/figure&&br&把上面的完整序列填充到相应规格的二维码矩阵的区域中&br&&br&&b&6. 掩摸:&/b&将掩摸图形用于符号的编码区域,使得二维码图形中的深色和浅色(黑色和白色)区域能够比率最优的分布。&br&&br&&strong&7. 格式和版本信息:&/strong&生成格式和版本信息放入相应区域内。&br&&br&版本7-40都包含了版本信息,没有版本信息的全为0。二维码上两个位置包含了版本信息,它们是冗余的。&br&&br&版本信息共18位,6X3的矩阵,其中6位时数据为,如版本号8,数据位的信息时 001000,后面的12位是纠错位。&br&&br&至此,二维码的编码流程基本完成了,下面就来实践一下吧,当然不用自己再去编写上面的算法了,使用三方包zxing 就可以了&br&&br&&strong&8. 编码:&/strong&&/blockquote&
以下都是转载:(还是搬运吧。)一、什么是二维码:
二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。 在许多种类的二维条码中,常用的码制有…
&p&&b&先声明——未经允许不得转载&/b&&/p&&p&&b&先回答第一个问题——产品在中国物品编码中心后台注册了,为什么微信没扫描出来&/b&&/p&&p&按照现行微信扫条码收录规则,只要商品在中国物品编码中心后台注册过都会展示名称等基本信息。但因为物品编码中心和微信数据的API接口不是实时更新,也就是说你商品信息上传了,就得看运气,刚好在数据更新时上传就会马上展示,如果不是就得等几天。但是可以肯定的是,只要上传了肯定会展示。&/p&&p&如图,都是些名称、照片等最基本信息&/p&&figure&&img src=&https://pic3.zhimg.com/v2-7dfa7dfca_b.png& data-rawwidth=&594& data-rawheight=&548& class=&origin_image zh-lightbox-thumb& width=&594& data-original=&https://pic3.zhimg.com/v2-7dfa7dfca_r.png&&&/figure&&p&&b&接着第二个问题,如何让产品更多信息被微信收录&/b&&/p&&p&国产产品(条码69开头)和进口产品(条码非69开头)权限、展示方式不一样需要分开讲&/p&&p&A.国产产品&/p&&p&目前两种展示方式1.认证价格;2.电商价格 先说认证价格,厂家合作,提供营业执照、生产许可证就可以。这种展示价格的方式,权限最高,可以覆盖任何信息、屏蔽低价、扫条码展示官网、展示微店信息&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5bcbb6b505420aba40ae7b4_b.jpg& data-rawwidth=&1000& data-rawheight=&1500& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic1.zhimg.com/v2-5bcbb6b505420aba40ae7b4_r.jpg&&&/figure&&p&B.进口产品&/p&&p&因为进口产品涉及到假货、总代理无法判断(一款产品多家公司经营),且按照微信现行规则不可与国外总公司直接合作,所以认证价格无法完成,只能是电商价格。&/p&&p&目前微信扫条码支持展示的电商平台有:1号店、京东、亚马逊、酒仙网、当当、39健康网等一些列电商网址。&/p&&p&但 综合比较1号店最为快捷,高效(其他电商平台只支持自营入驻产品展示,需要一个月左右审核期)&/p&&p&合作时,提供两年内报关单和卫检证书就可以展示,。按照这次回答格式,继续上图&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-c6f7e3abc2daabfc339f2ace61d6f411_b.jpg& data-rawwidth=&1000& data-rawheight=&1500& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic2.zhimg.com/v2-c6f7e3abc2daabfc339f2ace61d6f411_r.jpg&&&/figure&&p&&/p&
先声明——未经允许不得转载先回答第一个问题——产品在中国物品编码中心后台注册了,为什么微信没扫描出来按照现行微信扫条码收录规则,只要商品在中国物品编码中心后台注册过都会展示名称等基本信息。但因为物品编码中心和微信数据的API接口不是实时更新…
&p&&b&开头补充下题注这个问题:目前是实现不了,微信已经封掉了相关办法。&/b&&/p&&p&&b&以前根据URL Scheme可以做到任何地方跳转到某个联系人,比如网页中只需插入下面链接就行:&/b&&/p&&div class=&highlight&&&pre&&code class=&language-html&&&span class=&nt&&&a&/span& &span class=&na&&href=&/span&&span class=&s&&&weixin://qr/QeD64j-EGGJnrXuB97VT&&/span&&span class=&nt&&&&/span&点击此处关注我&span class=&nt&&&/a&&/span&
&/code&&/pre&&/div&&p&-------------------------------------------------&/p&&p&&i&下面是二维码相关技巧&/i&&/p&&br&&p&&b&直接上干货:&a href=&//link.zhihu.com/?target=http%3A//www.jianshu.com/p/60f& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&产品经理小技术(三):二维码这把利刃,产品应该用到极致&i class=&icon-external&&&/i&&/a&&/b&&/p&&br&&blockquote&&p&&b&注:本文有一些二维码干货,希望对二维码不是非常熟悉的产品/开发能有所收获。&/b&&/p&&br&&p&注2:查看本文前,请先确保你手机里有足够可扫描二维码的App(微信/微博/QQ/浏览器/淘宝/支付宝/我查查/豌豆荚/360……)&/p&&/blockquote&&br&&p&二维码,业界当然是人人听说,人人用过。&/p&&br&&p&这个话题,我倒是百感交集,我一直认为,我有一种“二维码情节”。&/p&&br&&p&一方面, 我自认为是国内“钻研”二维码比较早的一个人了,大学时也自己业余开发了一款Android App&a href=&//link.zhihu.com/?target=http%3A//m.163.com/android/software/32216k.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&“爱购扫描”&i class=&icon-external&&&/i&&/a&,主要做条形码比价和二维码扫描。而在后来的工作中,依旧会接触到二维码的利用,让我打开了更多的思路;另一方面,二维码的高度灵活,导致每个人、每个产品对它的理解都不一样。一直以来,国内公司更是在这方面不论是产品功能,还是互动营销上,都做得实在太粗糙。所以很难找到一个完美的方法,来把二维码真正的能力诠释出来。&/p&&br&&p&这篇文章,我试着从&b&原理&/b&、&b&实践&/b&以及&b&进阶技巧&/b&三个方面,来讲讲&b&二维码可能对任意互联网产品带来的益处&/b&。若能真正对哪怕一个用户带来便利,我也倍感荣幸。&/p&&br&&b&一、二维码本质是什么?&/b&&p&如果你对这个问题了如指掌,那么请直接跳过。否则(尤其是非技术出身的产品经理)就一定要先知道,二维码到底是个什么东西?&/p&&br&&blockquote&&p&二维码本质上是任意字符串内容,你可以简单理解为它就是一段文字 (二维码自动识别)&/p&&i&一个普通的二维码&/i&&/blockquote&&br&&p&二维码(dimensional barcode,大家习惯称QR Code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。&/p&&br&&p&&b&简单粗暴的解释就是:二维码它就是把一段纯文本用图形样式转换出来了,以便于快速扫描读出&/b&。&/p&&br&&p&这样做的原因在于,如果我有一堆比较凌乱的文本(比如一个很长的URL、一些加密后的字符串、或者一个复杂的快递编号),想把他们快速输入电脑/手机里的话,靠人肉是非常痛苦而容易出错的。但经过二维码巧妙的编码后,就能用低廉的扫描枪,或者普通的手机摄像头快速扫描录入,大大节省了时间;而且转换成编码后,哪怕任意一个字母,也不可能出现识别错误。&/p&&br&&b&二、现有产品都是如何利用二维码的?&/b&&br&&br&&p&我这里举几个最普遍的例子:&/p&&br&&p&&b&1. H5官网、App下载地址。&/b&这个真的不必介绍太多,就是直接把网站或App的URL,直接生成二维码,然后搬到WEB上或者线下进行推广。&/p&&br&&p&&b&2. 微信。&/b&二维码的推动,在国内最大的功臣就是微信,这也得益于各种电梯外卖传单广告会显眼标注的“微信扫一扫”。我们来看看微信的二维码长啥样:&/p&&br&&blockquote&&p&&a href=&//link.zhihu.com/?target=http%3A//weixin.qq.com/r/QeD64j-EGGJnrXuB97VT& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/QeD64j-&/span&&span class=&invisible&&EGGJnrXuB97VT&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&i&牛冰峰的微信二维码&/i&&/blockquote&&br&&p&这个 ……二维码呐,它看起来都是这样对吧?但前面说过,“&b&二维码它就是把一段纯文本用图形样式转换出来了&/b&”,所以我们随便找些工具扫描下(例如&a href=&//link.zhihu.com/?target=http%3A//cli.im/deqr& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&草料二维码扫描器&i class=&icon-external&&&/i&&/a&),上面的二维码对应的文本其实是这样的:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://weixin.qq.com/r/QeD64j-EGGJnrXuB97VT
&/code&&/pre&&/div&&br&&p&没错,微信名片的二维码,对应的是一个特殊的URL,仔细看应该能猜到:后面“QeD64j-EGGJnrXuB97VT”这部分内容,就是包含了一个用户ID的信息(并且是经过加密的)。微信在扫描到“&a href=&//link.zhihu.com/?target=http%3A//weixin.qq.com/r/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&”开头的二维码时,就把后面“QeD64j-EGGJnrXuB97VT”部分解析,搜到这个用户。&i&(至于为什么后面部分要加密,你猜咯?)&/i&&/p&&br&&p&&b&3. 微博。&/b&了解了微信,再来看看微博二维码:&/p&&br&&blockquote&&p&&a href=&//link.zhihu.com/?target=http%3A//weibo.cn/qr/userinfo%3Fuid%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weibo.cn/qr/userinfo?&/span&&span class=&invisible&&uid=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&i&@牛冰峰 的微博二维码&/i&&/blockquote&&br&&p&直接看二维码内容:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://weibo.cn/qr/userinfo?uid=
&/code&&/pre&&/div&&p&这个更好理解了吧?最后的UID就是微博用户的ID了。客户端扫描到“&a href=&//link.zhihu.com/?target=http%3A//weibo.cn/qr/userinfo%3F& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weibo.cn/qr/userinfo&/span&&span class=&invisible&&?&/span&&i class=&icon-external&&&/i&&/a&”开头信息,就抓取后面UID,并把该用户主页展示给扫描者。(&i&对了,相比微信,微博二维码里UID又是公开的,又是为什么呢?&/i&)&/p&&br&&p&好了,我们常见二维码也可以说是两类,一类是一个单纯的URL,扫描就打开网页,或者直接下载APP;另一类是“设计过的”URL,只有用对应的APP扫描,才能跳转到正确的界面。&/p&&br&&p&对于第二类二维码,除了微博微信,也还有很多。&b&但他们在流程上几乎是一个原理:扫描内容 --& 解析后匹配是否有固定部分 --& 获取动态部分 --& 跳转到对应界面。&/b&&/p&&br&&b&三、二维码进阶:User Agent(UA)的利用&/b&&br&&br&&p&现在我们做个实验,还是刚刚的微信二维码:&/p&&br&&blockquote&&p&&a href=&//link.zhihu.com/?target=http%3A//weixin.qq.com/r/QeD64j-EGGJnrXuB97VT& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/QeD64j-&/span&&span class=&invisible&&EGGJnrXuB97VT&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&i&牛冰峰的微信二维码&/i&&/blockquote&&br&&p&我们也知道,它对应的文本信息(也算是个URL)为:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://weixin.qq.com/r/QeD64j-EGGJnrXuB97VT。
&/code&&/pre&&/div&&br&&p&接下来,请你依次(尽可能)完成下面的操作:&/p&&p&1. 使用微信客户端扫描上面二维码,是什么结果?&/p&&p&2. 使用Android微博(或者UC/百度浏览器/我查查)扫描上面二维码,什么结果?&/p&&p&3. 使用iPhone微博(或者UC/百度浏览器/我查查)扫描上面二维码,什么结果?&/p&&p&4. 在电脑上打开&a href=&//link.zhihu.com/?target=http%3A//weixin.qq.com/r/QeD64j-EGGJnrXuB97VT& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/QeD64j-&/span&&span class=&invisible&&EGGJnrXuB97VT&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&,什么结果?&/p&&p&5. 找一部非主流系统(例如Firefox、Ubuntu)手机扫描上面二维码,什么结果?&/p&&br&&p&不管你是否尝试了,我&b&先来说下结果:&/b&&/p&&p&1. 直接扫描到我的账号了,可以添加到通讯录&/p&&p&2. 直接跳转浏览器开始下载微信.apk安装包了&/p&&p&3. 直接弹出Appstore微信应用了&/p&&p&4. 地址栏很快跳转了下,然后转到微信官网了&/p&&p&5. 打开微信WAP官网了&/p&&br&&p&&b&So……明明是同一个URL啊,为毛它呈现出了5种截然不同的结果给我?&/b&&/p&&br&&p&其实这里是微信利用&b&User Agent&/b&信息,给你呈现了不同的结果而已。&/p&&br&&p&&b&User Agent简称UA,简而言之,就是你访问任何网站时,网站可通过你的UA得知你使用的操作系统、浏览器、浏览器内核等信息。&/b&这个信息最终是由你的浏览器传递给对方网站的(所以严格来讲你是可以修改的,看看你手机上第三方浏览器设置里的UA选项)。&/p&&br&&p&上面的5个例子,除了第1个原理前面讲到了,后面4个,都是根据用户UA,判断是4个平台的用户,所以给他们各自跳转到了对应的地址,提供准确的服务&i&(具体如何实现?那你得找开发蝈蝈了~反正你就跟他说我要这个功能呗)&/i&。&/p&&br&&p&掌握了这个小知识,你就可以很灵活地针对潜在扫描用户做出不同对待了。最低级的利用是,我不希望以后还能看到这种下载宣传了:&/p&&br&&blockquote&&p&&a href=&//link.zhihu.com/?target=https%3A//itunes.apple.com/cn/app/xin-lang-bo-ke/idFmt%3D8& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&itunes.apple.com/cn/app&/span&&span class=&invisible&&/xin-lang-bo-ke/id?mt=8&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&i&很多很多产品在宣传时使用过两张二维码&/i&&/blockquote&&br&&p&上图这种奇葩形态,刨除技术因素“不懂”外,&b&产品上也是反人类的&/b&:现在手机像素高、速度极快,很多时候扫描二维码还没等你对准就已经完成了。这种情况下,用户很有可能就“被”扫描到隔壁的一个了,那还下载个毛啊?&/p&&br&&b&四、二维码利刃:URL参数组合&/b&&br&&br&&p&又牵扯到另一个大话题了,先看下面两个链接,还是微博二维码格式:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://weibo.cn/qr/userinfo?uid=
http://weibo.cn/qr/userinfo?uid=
&/code&&/pre&&/div&&br&&p&分别点开,明显就是两个用户的微博主页。这时候你很容易想到:我把后面的uid=xxx随便替换,就可以查看不同的用户主页了吧?&/p&&br&&p&没错。这里&b&在一个URL中跟在“?”后面的类似“uid=”的东西,就叫参数。&/b&我们在浏览器访问&a href=&//link.zhihu.com/?target=http%3A//weibo.cn/qr/userinfo%3Fuid%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weibo.cn/qr/userinfo?&/span&&span class=&invisible&&uid=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&的过程,实际上是浏览器找到了&a href=&//link.zhihu.com/?target=http%3A//weibo.cn/qr/userinfo& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weibo.cn/qr/userinfo&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&这个服务窗口,给它说:“嘿,接口同志!我取个信息,uid是。”userinfo这个服务窗口根据从海量数据里查到了uid=的信息,返回给浏览器。浏览器最后把整个信息展示给了用户。&/p&&br&&p&继续举个例子,假如有这样一个URL:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://weibo.cn/register?name=bingfeng&sex=male&age=24
&/code&&/pre&&/div&&p&这里register是注册的意思。在浏览器打开这个URL,过程就可以描述为:浏览器找到了&a href=&//link.zhihu.com/?target=http%3A//weibo.cn/register& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weibo.cn/register&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&这个注册专用服务台,给它说:“嘿,接口同志!我存个信息,它的名字是bingfeng,并且性别是男,哦对了,年龄是24岁。”register注册专用服务台拿走了这些信息,全部记录了下来,说“存好了你走吧”,浏览器回来给用户说:“存好了。”&/p&&br&&p&上面讲了这么一大堆,就是为了说明一个原理:&b&一旦涉及到动态产生大量二维码,就一定会用到URL参数。&/b&同一个参数值是不重复的,代表了特定的节点(某个用户、某篇文章等)。而产品就是通过扫描二维码后提取对应参数来实现查找的。例如微信二维码&a href=&//link.zhihu.com/?target=http%3A//weixin.qq.com/r/QeD64j-EGGJnrXuB97VT& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/QeD64j-&/span&&span class=&invisible&&EGGJnrXuB97VT&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&它的参数就是QeD64j-EGGJnrXuB97VT,只是看起来和“?”不太一样而已。&/p&&br&&p&&b&二维码参数实例一:APP下载URL+设备ID参数&/b&&/p&&br&&p&这是我2年前在新浪做的第一个产品,也是新浪首次试水硬件/物联网的产品:&a href=&//link.zhihu.com/?target=http%3A//weibo.com/qxzhan& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新浪气象站&i class=&icon-external&&&/i&&/a&,主要功能是通过App随时随地查看家里室内外的气象数据。在使用之前,用户必须要用微博账号绑定买到的这台设备,而绑定的过程,毫无疑问需要用到二维码。&/p&&p&那么问题来了:&/p&&br&&p&1. 用户首先需要安装“新浪气象站”APP;&/p&&p&2. 一般人看到二维码的第一反应是:先用微信扫扫看;&/p&&p&3. 我需要用户使用“新浪气象站”来扫描这个二维码完成绑定。&/p&&br&&p&&b&如何解决上面的问题呢?&/b&我们做了下面的二维码,并且印刷在了设备上:&/p&&blockquote&&p&&a href=&//link.zhihu.com/?target=http%3A//cdapp.sina.cn/weatherstation/web/down%3Fdeviceid%3DAC000W& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&cdapp.sina.cn/weatherst&/span&&span class=&invisible&&ation/web/down?deviceid=AC000W&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& (二维码自动识别)&/p&&i&你可以扫描下载此应用试试&/i&&/blockquote&&br&&p&这个二维码对应的文本是:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://cdapp.sina.cn/weatherstation/web/down?deviceid=AC000W
&/code&&/pre&&/div&&p&接下来,你分别用iPhone、Android和电脑浏览器打开看看,是否和微信一样,直接下载App了呢?因为这个URL本来就是根据用户UA,返回了不同的下载地址。&/p&&br&&p&当用户安装打开气象站APP以后,会提示扫描该二维码,此时其必然使用气象站内的扫描功能,而这时我们将扫描到的内容解析,只提取“deviceid=AC000W”这个参数,成功完成了绑定。&/p&&br&&p&&b&二维码参数实例二:一个二维码,支持多个APP扫描使用&/b&&br&&/p&&br&&p&这个描述不够清楚,产品需求其实是:微博与厂商合作推出的智能空调,其首次使用依旧需要扫描二维码绑定。但该空调特色是,既支持微博私信控制,又支持独立APP操作。当然,微博和APP的二维码扫描也都要支持。&/p&&p&这种情况下有一个最大的限制:微博二维码,它的形式是死的,就只能是&a href=&//link.zhihu.com/?target=http%3A//weibo.cn/qr/userinfo%3Fuid%3D& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weibo.cn/qr/userinfo?&/span&&span class=&invisible&&uid=&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&这样,否则微博客户端压根就不会处理。但在这个URL里,参数uid它只是对应的微博号,而如果我们空调APP要扫描,拿到了微博号是没用的,必须拿到设备号。于是,我们突发奇想,直接在原URL后又加了个参数deviceID:&/p&&div class=&highlight&&&pre&&code class=&language-text&&http://weibo.cn/qr/userinfo?uid=&deviceID=ABCD987456
&/code&&/pre&&/div&&br&&p&这里的&b&deviceID=ABCD987456,我们称为无效参数&/b&。由于微博压根就不需要这个参数,所以当向微博请求时,它认为这个没用直接忽略掉。但是在我们独立APP里,就可以专门去提取deviceID这个参数,从而得到自己最需要的信息。&/p&&br&&p&&b&这样,利用添加无效URL参数,实现了一个二维码为N个互不相同的客户端服务的目的。&/b&&/p&&br&&b&五、二维码FAQ:&/b&&br&&br&&p&Q:二维码一定都是URL内容吗?&/p&&p&A:当然不是。但在实际应用中,由于人们习惯用微信和浏览器扫描,URL是最自然的形态。并且很多二维码是为了推广APP,URL一扫就下,最方便不过了。&/p&&br&&p&&b&Q:我想在微信里也能实现扫描二维码后下载我的App(而不是被屏蔽),有办法吗?&/b&&/p&&p&A:有!你去找一找&b&鲜城&/b&,看看怎么做的。&/p&&br&&p&Q:二维码可能传播恶意病毒吗?&/p&&p&A:这是个被央视报道过很多次的话题,但可惜央视每次都是断章取义含糊其辞。二维码本质是字符串,所以唯一的可能就是这个字符串对应了一个Android平台的恶意程序,用户扫描后不做判断,直接安装并打开了这个应用,并且丝毫没察觉该应用与自己期望不一致。&b&这就和过去几年淘宝购物时,随便点击来路不明的链接网银付款一个道理,你说二维码冤枉不?&/b&&/p&&br&&p&Q:二维码防伪是什么?&/p&&p&A:理解成把过去防伪查询需要手动输入的串号,现在改自动输入。千万别因为很多产品印刷个小小的二维码就觉得“是正品”了。&/p&&br&&p&Q:二维码都这么丑?&/p&&p&A:二维码算法具有一定兼容性,黑白块是最容易识别的,但其实完全可以做很多美化的。这在企业宣传设计上应该有很大的意义。参考&a href=&//link.zhihu.com/?target=http%3A//www.36kr.com/p/201042.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&让丑陋的二维码不再突兀,Visualead要让二维码“隐身”在品牌Logo之后&i class=&icon-external&&&/i&&/a&&/p&&br&&p&Q:为什么作者@牛冰峰 有“二维码情节”?&/p&&p&A:因为曾经看不下去国内对二维码的低效应用,一直想做一些事,可是一直没有真正行动起来。&/p&&br&&p&作者:&a href=&//link.zhihu.com/?target=http%3A//weibo.com/imfeng& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&@牛冰峰&i class=&icon-external&&&/i&&/a& · 90后 · 3年产品 · 目前&a href=&//link.zhihu

我要回帖

更多关于 大话2二维码登录不了 的文章

 

随机推荐