12306 验证码改为划线静态版 - 开源中国社区
Float_left Icon_close
12306 验证码改为划线静态版
oschina 2014年01月06日

12306 验证码改为划线静态版

oschina oschina 发布于2014年01月06日 收藏 6 评论 77

做APP,小程序就上开源众包。世界杯期间免费领2600元启动金。>>>  

  【搜狐IT消息】1月5日,铁路客服中心12306到年底又成了大家关注的热点,与互联网公司抢票软件的口水战受到大众关注。验证码是简单一点 让大家买票体验更好,还是复杂一些防止抢票软件和黄牛钻空子?这让12306左右为难,经过一轮针对动态验证码的吐槽后,12306将验证码改为了加强版 的静态版,不再那么难认了。

  前不久有网络公司称12306的验证码太简单了,不安全;同时也给了这些抢票软件一个机会,能够轻松识别验证码完成抢票购买,这同时又让黄牛们猖獗了起来,甚至引出了后面的“假身份证”购票内幕。

  12306为了遏制这一问题,下了狠手,将购票验证码改为动态验证码,验证码出现的时候会有一条横线闪烁抖动,这一狠招招致很多用户反映根本看不清验证码,严重影响了购票体验。

  现在12306只能采取了折中措施,将验证码改为静态的,但同时加上了干扰横线,防止抢票插件识别。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:12306 验证码改为划线静态版
分享
评论(77)
最新评论
0

引用来自“vivid”的评论

引用来自“杨金焕”的评论

每个字符每次都扭曲、大小变化、排列间距变化、相粘连,在目前,相信再牛逼的的技术,机器识别是相当困难。我暂时没有见过可以的。

又不用读所有帧,拿出一帧来分析,分析不出来换一帧,被破解的可能性还大些。最好的验证码是10086的中文验证码。你无法准确识别中文,识别英文太容易了。

除非很扭曲粘连,不然中文也不难识别(君不见手写识别率都挺高别说系统字体了),而且抢票还输中文?怕是打字慢的哥们队伍都排不上直接出局了。动态验证码想要有较好效果,只有每一帧都遮挡大部分有用信息,比如说一个占图片2/3左右的黑色遮挡物随机运动,形成动画,人眼对动画有视觉停留效果,会保留前几帧的印象,能被识别,机器就很难做到了,像12306这种一根细线晃荡是没用的。
0

引用来自“BruceWan”的评论

引用来自“晏雨涵”的评论

动态的里面每一帧都是静态的图片吧。感觉动态只对人有影响

gif动画提前生成几十万个,用时引用。既不会影响网站性能,又使得打码公司的雇员头痛

用户体验不好
0

引用来自“codepat”的评论

GIF动画取其中一帧就是静态的了,出这个主意的人没大脑

gif动画提前生成几十万个,用时引用。既不会影响网站性能,又使得打码公司的雇员头痛,不过呢打码公司可以取一帧给打码员。
0

引用来自“kut”的评论

引用来自“雅各布奇”的评论

开发这网站的同行,如果把这种小聪明用到提升网站性能上,也不至于做出这么大便的东西出来丢码农的人

说实在的,应付这么大并发的网站,真的是很难的。

gif动画提前生成几十万个,用时引用。既不会影响网站性能,又使得打码公司的雇员头痛
0

引用来自“codepat”的评论

GIF动画取其中一帧就是静态的了,出这个主意的人没大脑

gif动画提前生成几十万个,用时引用。既不会影响网站性能,又使得打码公司的雇员头痛
0

引用来自“YuKunYi”的评论

动态的验证码完全扯淡啊。。。那玩意是专门防正常用户给机器人用的。。。

gif动画提前生成几十万个,用时引用。既不会影响网站性能,又使得打码公司的雇员头痛
0

引用来自“晏雨涵”的评论

动态的里面每一帧都是静态的图片吧。感觉动态只对人有影响

gif动画提前生成几十万个,用时引用。既不会影响网站性能,又使得打码公司的雇员头痛
0

引用来自“铂金小猫”的评论

搞笑。

打码公司的雇员,头痛了。
0

引用来自“codepat”的评论

GIF动画取其中一帧就是静态的了,出这个主意的人没大脑

楼主正解,不过干扰钱和噪点还是挺管用的
0
可以学习一下,根据,颜色,语义,形状,计算等得出验证码
0

引用来自“vivid”的评论

引用来自“杨金焕”的评论

每个字符每次都扭曲、大小变化、排列间距变化、相粘连,在目前,相信再牛逼的的技术,机器识别是相当困难。我暂时没有见过可以的。

又不用读所有帧,拿出一帧来分析,分析不出来换一帧,被破解的可能性还大些。最好的验证码是10086的中文验证码。你无法准确识别中文,识别英文太容易了。

中文是最好ocr的语言,比英文识别率高太多了
0

引用来自“xosdy”的评论

引用来自“袁国涛”的评论

引用来自“kut”的评论

引用来自“lxbzmy”的评论

我只想说SB动画,从没见过这么SB的,验证码用动画。

语音呢?

现在的语音识别也可以了,它总不能用方言播数字吧?

可以用選貓,選狗的方法,機器應該識別不了

去买百度贴吧的选字验证
0

引用来自“杨金焕”的评论

引用来自“莫慌张”的评论

引用来自“杨金焕”的评论

每个字符每次都扭曲、大小变化、排列间距变化、相粘连,在目前,相信再牛逼的的技术,机器识别是相当困难。我暂时没有见过可以的。

我以前搞过几年验证码识别,说实话。他这种验证码不算复杂。机器很难识别的像雅虎谷歌的部分验证码,他这种识别难道不高。。而且要识别验证码的话还有一种是手打平台识别。。所以只要人能识别的验证码都是识别出来,不同的是成功率和成本差距。

我只讲机器不能识别:扭曲、大小变化、排列间距变化、相粘连的验证码,没有讲过人工打码:人工打码是人识别了,是需要付费的了。

以12306当前验证码难易度,机器识别没问题
0

引用来自“KevinChen”的评论

引用来自“白文”的评论

引用来自“eechen”的评论

引用来自“白文”的评论

引用来自“eechen”的评论

引用来自“白文”的评论

引用来自“宅男小何”的评论

引用来自“StarGate”的评论

引用来自“宅男小何”的评论

不过多么牛逼,我只想说下技术不行,那么干不干多加台服务器啊,网页进不去,验证码获取不到,一切都卡死。给你们那么多钱做网站,多加台服务器不过分吧

根据政策规定单人单日在同一线路不得买两张票,儿童票除外,另外同一线路同日票数必须有一个锁。请你也考虑下这个在后台使用Oracle数据库的情况下怎么设计分流,同时确保这个惟一性

不太懂orcale,但是我说的验证码都获取不到啊,验证码应该是单独的服务器吧,跟你说的逻辑也没啥关系啊。你说的是购票!

同时请求访问数据库的进程过多时,会按照一定的调度策略排队,增加服务器没有任何作用,反而无法维持数据一致性。余票动态变化的性质决定了服务器的数量

购票请求全部进队,队列很容易横向扩展,而且也可以控制请求对数据库的压力,避免遭遇节假日瞬间的高负载。余票查询不需要考虑队列里的请求,用户提交购票请求后马上响应用户“购票请求已提交”,但能不能买到票还要看队列的处理进度和结果,处理完成则通知(比如短信通知)用户购票成功。

数据库方面如果能像MySQL那样配置多主多从、读写分离,那很容易就可以在读(查询)方面横向扩展。另外限定登录后才能查票也能减少读压力。

最后如果连刷票器都对付不了的话只能是自身技术问题,这没什么好说的。

你没有从硬件方面考虑,多个进程访问同一存储区域必须排队,否则会发生数据相关错误,一般这种排队由操作系统管理即可,但12306这种势必需要专门进程干预,提高处理器流水线效率,否则延迟相当惊人。

我说的队列当然是指守护进程、服务类型的的队列,比如著名的使用Erlang编写的支持AMQP(高级消息队列协议)的队列服务RabbitMQ Server。

正是因为考虑到数据库的吞吐量上限,才需要引入队列,这种应用层面的队列完全由程序控制,消费者(数据库)的消费速率是可控的。超大规模并发下用户直接向数据库请求显然是不现实的。

大部分网站都不会允许直接访问数据库,你说的消息队列好像是应用程序级的,应用程序与DBMS之间的通信瓶颈不会太大,系统瓶颈多在与内存的交互上。如若大量用户针对同一车次发出订票和查询请求,就实际而言,只能写请求优先,过时数据没有意义,但也不能无限推迟查询请求,在DBMS存取数据时,要么自己处理多任务请求,要么操作系统处理。12306需要修改DBMS的多任务处理确定合理的优先级,或者修改内核进程优先级。考虑到效率,修改内核更可取,特别是高并发。目前12306的数据错误应该与内核有关。至于访存策略,应该是写直达法,来维持多处机Cache的一致性。这两项是很大的瓶颈,外在表现查询请求缓慢。目前尚不清楚12306采用何种DBMS与操作系统

请问一下,如果12306开放平台,允许淘宝一些电商接入,你觉得技术实现难度大吗?

这个技术难度不大,实际意义不大。12306的瓶颈在数据库上,它的数据库不能像淘宝上按类别店铺商品充分分离,运输系统这种性质只能用集中式的数据,无论它分几个镜像,最终所有的请求都指向中央数据库,这样才能维持数据一致性。开放接口只转移一部分网页上请求。网页请求加服务器就能解决。如果直接分票给其它网站,在票数不足的情况下,跟电话和网站订票的性质一样,多一种途径而已,改变不了什么,高峰期这两种都很难,至多可以让用户快速看到没票的页面,可以料想用户会去12306再试试,结果你懂得
0
多数春节返家的客流路线基本固定,干脆来个全国性的实名制预登记,来个车票配给制。
0

引用来自“白文”的评论

引用来自“eechen”的评论

引用来自“白文”的评论

引用来自“eechen”的评论

引用来自“白文”的评论

引用来自“宅男小何”的评论

引用来自“StarGate”的评论

引用来自“宅男小何”的评论

不过多么牛逼,我只想说下技术不行,那么干不干多加台服务器啊,网页进不去,验证码获取不到,一切都卡死。给你们那么多钱做网站,多加台服务器不过分吧

根据政策规定单人单日在同一线路不得买两张票,儿童票除外,另外同一线路同日票数必须有一个锁。请你也考虑下这个在后台使用Oracle数据库的情况下怎么设计分流,同时确保这个惟一性

不太懂orcale,但是我说的验证码都获取不到啊,验证码应该是单独的服务器吧,跟你说的逻辑也没啥关系啊。你说的是购票!

同时请求访问数据库的进程过多时,会按照一定的调度策略排队,增加服务器没有任何作用,反而无法维持数据一致性。余票动态变化的性质决定了服务器的数量

购票请求全部进队,队列很容易横向扩展,而且也可以控制请求对数据库的压力,避免遭遇节假日瞬间的高负载。余票查询不需要考虑队列里的请求,用户提交购票请求后马上响应用户“购票请求已提交”,但能不能买到票还要看队列的处理进度和结果,处理完成则通知(比如短信通知)用户购票成功。

数据库方面如果能像MySQL那样配置多主多从、读写分离,那很容易就可以在读(查询)方面横向扩展。另外限定登录后才能查票也能减少读压力。

最后如果连刷票器都对付不了的话只能是自身技术问题,这没什么好说的。

你没有从硬件方面考虑,多个进程访问同一存储区域必须排队,否则会发生数据相关错误,一般这种排队由操作系统管理即可,但12306这种势必需要专门进程干预,提高处理器流水线效率,否则延迟相当惊人。

我说的队列当然是指守护进程、服务类型的的队列,比如著名的使用Erlang编写的支持AMQP(高级消息队列协议)的队列服务RabbitMQ Server。

正是因为考虑到数据库的吞吐量上限,才需要引入队列,这种应用层面的队列完全由程序控制,消费者(数据库)的消费速率是可控的。超大规模并发下用户直接向数据库请求显然是不现实的。

大部分网站都不会允许直接访问数据库,你说的消息队列好像是应用程序级的,应用程序与DBMS之间的通信瓶颈不会太大,系统瓶颈多在与内存的交互上。如若大量用户针对同一车次发出订票和查询请求,就实际而言,只能写请求优先,过时数据没有意义,但也不能无限推迟查询请求,在DBMS存取数据时,要么自己处理多任务请求,要么操作系统处理。12306需要修改DBMS的多任务处理确定合理的优先级,或者修改内核进程优先级。考虑到效率,修改内核更可取,特别是高并发。目前12306的数据错误应该与内核有关。至于访存策略,应该是写直达法,来维持多处机Cache的一致性。这两项是很大的瓶颈,外在表现查询请求缓慢。目前尚不清楚12306采用何种DBMS与操作系统

请问一下,如果12306开放平台,允许淘宝一些电商接入,你觉得技术实现难度大吗?
0

引用来自“孤单时会想你”的评论

引用来自“KevinChen”的评论

引用来自“张亦俊”的评论

引用来自“我是菜菜”的评论

引用来自“KevinChen”的评论

12306,强烈建议大家联名抗议,要求铁道部部长下台,总理向国民道歉,严查腐败,尼玛,拿老板姓的钱不当钱。去tmd的gcd..

大哥小心啊这可是天朝啊

没事的,走法律程序就可以,游行之类的都没问题。不过我是怀疑能联到多少名就是了。
前铁道部长已经被查处了。现总理连1年都没到,都还是没什么行动的就让道歉,说不过去啊。

找温XX算账去,把他揪出来。

傻逼。。。铁道部已经解散N久了。。。

谁SB啊,铁道部还在的,只是成立了一个铁路总公司和换了个名字叫国家铁路局,管理权和运营权剥离,实际上没变,只是更方便捞钱了而已,以前是铁道部,官员捞钱不太方便,现在成立公司,捞钱多方便啊。你才SB呢,铁道部没了?怎么可能,只是换了个名字而已。SB
0
跟马云合作。
0

引用来自“KevinChen”的评论

引用来自“张亦俊”的评论

引用来自“我是菜菜”的评论

引用来自“KevinChen”的评论

12306,强烈建议大家联名抗议,要求铁道部部长下台,总理向国民道歉,严查腐败,尼玛,拿老板姓的钱不当钱。去tmd的gcd..

大哥小心啊这可是天朝啊

没事的,走法律程序就可以,游行之类的都没问题。不过我是怀疑能联到多少名就是了。
前铁道部长已经被查处了。现总理连1年都没到,都还是没什么行动的就让道歉,说不过去啊。

找温XX算账去,把他揪出来。

傻逼。。。铁道部已经解散N久了。。。
0

引用来自“张亦俊”的评论

引用来自“我是菜菜”的评论

引用来自“KevinChen”的评论

12306,强烈建议大家联名抗议,要求铁道部部长下台,总理向国民道歉,严查腐败,尼玛,拿老板姓的钱不当钱。去tmd的gcd..

大哥小心啊这可是天朝啊

没事的,走法律程序就可以,游行之类的都没问题。不过我是怀疑能联到多少名就是了。
前铁道部长已经被查处了。现总理连1年都没到,都还是没什么行动的就让道歉,说不过去啊。

找温XX算账去,把他揪出来。
顶部