2013年2月14日星期四

12306反制浏览器被指“傻大黑粗”

  1月28日,已经是2013年春运正式开始的第三天,那寄托着异乡游子急切心情的粉红纸片,依旧一票难求。前两天发生的12306订票助手插件拖垮GitHub事件,风波仍未过去。铁道部为了保证“公平”,他们开始采取技术手段,针对使用插件的浏览器采取反制措施,其结果如何,目前看来,恐怕不能令他们和他们的上峰满意。

  网友码农1999在新浪微吧上发布文章《傻大黑粗+殃及无辜:12306技术反制猎豹浏览器代码级分析》,列出了12306.cn的具体反制措施,其中主要有四种手段。

  手段一: 频繁修改具体功能函数名称,让抢票插件调用失效。

  这是12306开始技术反制时最常用的小技俩。码农都知道,这种“小修小补”的技术屏蔽手段,只要针对12306修改的具体功能函数做修改,即可实现插件正常使用。整个破解及插件更新时间不超过1小时。

  手段二:1月20日开始屏蔽浏览器user agent

  1月20日进入春运购票最高峰(可订2月8日车票),12306使出了屏蔽浏览器user agent的手段,如此一部分没有用抢票版的用户也被屏蔽,一些用户反应未用插件却登陆12306时白屏,进入不到网站。

  针对屏蔽 user agent,只要修改浏览器的用户代理即可实现登陆12306。

  手段三:限制连续2个操作的时间间隔,所有浏览器在未使用抢票插件情况下或无辜中枪。

  如在提交订单时12306判定输入验证码及提交的时间间隔短,即使验证码输入正确,亦会被12306弹出“验证码错误”。此种屏蔽手段造成的后果是:1、抢票插件自动提交订单失效;2、无论使用哪种浏览器的用户,无论使不使用抢票插件,只要“被判定”时间间隔短,即提交订单失败…破解此屏蔽手段,甚至不需要修改插件代码,只需取消抢票插件的“自动提交”功能,手动输入验证码即可。

  手段四:12306后台增加一些逻辑判断,会踢出用插件用户的登录状态。

  这些逻辑判断包括:

  限定操作时间间隔、提交订单时间间隔、查询刷新间隔等。

  这些手段均不能保证只屏蔽抢票插件用户,均有可能让无辜的用户,被12306判定为“插件用户”,不能正常登陆,买不到车票。

  对于这些反制措施,作者认为:

  1. 12306用的那些技术反制手段真心很糙,很临时工。一个词形容:傻大黑粗。
  2. 12306这些小花招,在浏览器厂商面前,效果不大。
  3. 12306的反制措施还带来更大的网站崩溃可能性,殃及无辜。

  文末,作者给12306提出4句话:

  1. 每一个登陆12306的用户,都有权利选择使用的浏览器及正当手段提升使用体验,屏蔽只会加剧无谓的劳动量。
  2. 请不要再聘用实习生或者临时工进行屏蔽抢票插件,请尊重程序猿的智商。
  3. 12306对“无辜”被屏蔽的用户造成极大的不公平。
  4. 12306作为投资5亿的网站,请亮出你技术屏蔽的“杀手锏”。

  在微博评论中,Super_Wang指出:

  用技术手段屏蔽标准http请求。。。无语,只要它没离开http,找出规律也就是个时间问题。对关键请求加单次有效的短信延时二次认证应该是个不错的办法,客户体验就难说了

  执信飘飘想听听其他人的看法:

  大量游戏外挂都不能得到有效解决,何况这是一个甚至没有做验证码适配的脚本程序而已,个人觉得这的确很难做处理。因为不具有很明显的特征性,很难判断。

  来源:InfoQ投稿,原文链接

12306订票助手插件拖垮GitHub事件始末

  春节临近,12306订票难的问题再一次被引向风口浪尖。而这一次,各家浏览器厂商不失时机的推出了“春节专版”。这些林林总总浏览器的共同特点,是集成了一位网友iFish(木鱼)的“订票助手”插件。

  不凑巧的是,这个插件的早期版本使用GitHub的Raw File服务作为CDN,并对返回403错误代码的请求使用非常暴力的5秒重试。于是,在1月15日的时候,第一个订票小高峰到来的时候,GitHub被间接的DDos。

  GitHub的运维工程师Jesse Newland在发现服务器负载异常之后,不得不禁用了这个代码所在Repo的Raw服务,并在Repo里报告了一个issue —— 他发现12306引用了这个Repo里的一个资源,由于访问量巨大,这个资源对GitHub的服务产生了负面的影响,希望有人可以联系到12306的工程师去除这个引用。

  身在大洋彼岸的GitHub工程师在解决了GitHub的服务问题之余,显然不太清楚中国的两点情况:

  1. 春运是什么,12306是什么
  2. 12306的工程师是不可能被联系到的

  大家疑问

  大家的质疑,存在于两点:

  1. 为什么一个浏览器插件需要从GitHub引用资源?
  2. GitHub的负载能力这么弱吗?

  疑难解释

  第一个问题,还是让插件作者木鱼自己来解释:

  引入自动更新。

  由于12306订票助手是个很特殊的东西,依赖于铁道部的网站而存,并且其运行极度依赖网站本身的功能以及页面结构,所以随着铁道部的改进,很容易失效(虽然他们的前台样子从开始到现在,一年多了几乎就没变过……他喵的为什么我又要用年做单位说时间,真伤心)。因此为了保证功能的正常,订票助手在很早的版本开始就引入了自动更新机制(1.4开始)。最开始的更新都是放在自己网站上的,并且区分了Firefox和Chrome。

  最初的助手是以UserScript的模式出现的,调试在Firefox下调试。在Firefox下时,Scriptish提供了支持跨域的GMxmlHttpRequest功能,可以直接用ajax访问我的网站。但是在Chrome下,则没有这样的便利,不支持跨域ajax,所以用的是引入script脚本的方式检测更新。在后来Firefox和Chrome分支完全合并后(最开始针对不同的浏览器分离的,后来发现同步实在太麻烦了),舍弃了一些特异的功能(如GMxmlHttpRequest),为一些功能做了适配(如桌面通知),更新也就用下来了。

  但是后来不知道什么时候开始,这个更新机制突然失效了。为啥呢,这要从另一件事开始说起。

  那就是12306的HTTPS。

  作为一个日点击14亿的网站,网宿科技的CDN还是很给力的,根据我收集到的资料,其加速节点上百个。但是,作为一个订票的网站又要CDN的,为什么会用HTTPS协议还是一个自签发的根证书,实在太让人费解。任何一个了解网络知识的人都知道,HTTPS协议下服务器的负载能力要比HTTP的低很多,何况订票又不是什么机密的数据。 总会有人跳脚出来说订票啊多机密,我总是很反对,哪门机密了,车次还是余票数据?

  这个HTTPS带来了很大的麻烦。

  不知道哪个版本Chrome引入的安全机制,对于一个HTTPS网站,其所有引用的资源(Script和StyleSheet之类的),也必须位于HTTPS的服务器上,否则拒绝执行。而我并没有HTTPS服务器,因此,Chrome下自动更新华丽地挂了。 然后是Firefox。Firefox下播放不了音乐,我一直以为是Firefox不支持,后来才发现是Firefox的安全机制在作怪:HTTPS的网页拒绝播放来自于HTTP的多媒体文件。 这俩奇葩让我伤透了脑筋。然后无意中瞥见GitHub竟然是HTTPS的,So…… 转移过去,变成了顺理成章的事情,我求爹爹告奶奶没求来一台HTTPS的服务器,虽说有免费的SSL证书什么的但是我去申请的时候,连那提供商的网站自己都证书错误了。

  于是事情都解决。

  而第二个问题,GitHub的负载能力为什么这么弱,原因在于GitHub根本不适合作为CDN服务。著名博客比特客栈的文艺复兴,对此做了详细解释:

  1.   它并非静态文件服务器,换句话说,所有请求访问都要先经过一堆服务器代码处理,降低了它的响应速度。

  2.   它返回的MIME与文件无关(永远是text/plain),某些浏览器,例如说IE,不会执行MIME类型错误的javascript文件。

  3.   它返回的Cache-Control Header不允许浏览器缓存文件,等于失去了CDN最基本的功能。 恰恰因为12306订票助手不运行于IE,也不希望更新文件被缓存,Raw file的后两个劣势才没有显现出来。但剩下的那个劣势,却让Github的响应速度大打折扣,不得不暂时封锁Raw file访问。

  针对这个问题,原文作者直中要害的提供了两个层面的解决方案:

  • 使用GitHub作为CDN的正确之道:

  那么,Github作为CDN的正道是什么?Github Pages。通过加入gh-pages branch,你可以修改和发布自己repo的文件。值得提醒,Pages虽然免费,并非资源无限,详见官方Disk Quota的描述——“虽然我们没设上限,但请各位合理使用。”

  Github轻描淡写的说合理使用,而不是严明规章到MB、GB,其实是一种潜意识的相互信任。这是一种在贫富悬殊供求关系紧张的中国日益缺少的东西,12306订票助手的存在就是一种印证:乘客不相信12306,12306不相信乘客,最后逼出一个12306订票助手,每天乃至每半天更新一次来满足中国人订票回家的需求。

  • HTTPS下如何引用HTTP资源:

  请问Google Reader,是怎么在HTTPS域下播放优酷与土豆等非HTTPS的视频?我们在去年9月发现了同样的问题,Google自己是这样解决的——

  Chrome 21之后,在SSL加密页面embed非SSL的Flash会怎样呢?会被默默的屏蔽掉,只留下一句console报告。那Google Reader是怎么绕过这个问题看优酷与土豆视频的?他们iframe了一个非SSL页面,再在里面引用flash(引用页连域名都是不同的)

  同理也适用于Javascript,这也是12306订票助手当前的解决办法(Firefox除外)。不再需要SSL下的CDN了。

  不是结束

  订票助手的作者木鱼,不堪忍受各界观光团纷纷造访他本开源在GitHub上的订票助手代码仓库,最终删除了项目。但他表示仍将继续精简/改进这款订票插件。

  因为这个插件,铁道部甚至投诉至工信部,要求其责令各家浏览器提供商停止提供附带抢票功能的浏览器的下载。不过就本文发表前,各家浏览器厂商均表示尚未接到相关通知。

  这一切还都不是结束。

  来源:InfoQ投稿,原文链接

2013年2月7日星期四

苹果发表声明强烈建议用户不要越狱

  苹果发表声明,强烈建议用户“不要越狱”,苹果称用户越狱除了会使手机不再享有苹果的任何保修服务外,也会带来以下问题:设备会经常遇到崩溃问题,出现安全漏洞,电池寿命缩短,资料丢失,影响到未来的系统更新等。

  声明全文如下:

  iOS 与 iPhone、iPad 和 iPod touch 经由 Apple 设计,旨在互相搭配稳定工作。未经授权修改 iOS(“越狱”)可导致遭破解的 iPhone、iPad 或 iPod touch 出现很多问题。未经授权修改 iOS 导致的问题示例包括下列各项:

  不稳定:设备频繁死机和意外死机、内建 app 和第三方 app 崩溃和卡死以及数据丢失。

  安全漏洞:此类修改已导致安全性降低,从而便于黑客窃取个人信息、破坏设备、攻击无线网络或者引入恶意软件或病毒。

  电池续航时间缩短:遭破解的软件已导致电池电量加速耗尽,从而缩短了 iPhone、iPad 或 iPod touch 单次电池充电后的操作时间。

  语音和数据不稳定:通话中断、速度很慢或数据连接不可靠,以及位置数据延迟或不准确。

  服务中断:设备上的 Visual Voicemail、天气、股票等服务已中断或不再正常工作。此外,使用 Apple 推送通知服务的第三方 app 接收通知时遇到困难,或收到发往其他破解设备的通知。iCloud 和 Exchange 等其他基于推送的服务与其相应的服务器同步数据时出现问题。

  无法应用日后的软件更新:部分未经授权的修改已导致 iOS 出现无法修复的损坏。日后安装 Apple 提供的 iOS 更新后,可导致遭破解的 iPhone、iPad 或 iPod touch 永久无法操作。

  Apple 强烈警告不要安装任何破解 iOS 的软件。请注意未经授权修改 iOS 违反 iOS 最终用户许可协议,因此 Apple 有权拒绝向已安装任何未经授权软件的 iPhone、iPad 或 iPod touch 提供服务,这点也很重要。

2013年2月5日星期二

中国电信承诺停止推送宽带广告

  针对用户投诉的“中国电信宽带出现强制推送广告”现象,中国电信通过其官方微博回应称,“发现个别下属单位确有此类问题,已经采取措施停止向宽带用户推送第三方广告”。

  据悉,一些省市的地方运营商等利用宽带服务向用户推送强制性广告投机“盈利”,大大影响了用户对宽带服务的感知度,导致用户投诉量增加。用户的投诉对象主要是打着“电信ADSL弹窗广告的独家代理商”旗号的广告公司。同时,也有软件厂商针锋相对地推出所谓屏蔽电信推送式广告的“安全浏览器”,从而衍生出另外一个市场。如此乱象,显示了国内市场对宽带推送广告问题的监管机制不完善,给广告商甚至不法分子提供了可乘之机。对此,中国电信集团公司表示禁止再推送这种广告。

  据了解,目前国内的宽带服务商主要是中国电信与中国联通两大运营商,还有一些运营商通过租借运营商基础设施向用户提供宽带服务。

  以下为中国电信客服官方微博的全文:

  近期有网友通过微博向我们反映在宽带使用过程中被强制推送广告。中国电信对此十分重视并迅速排查,发现个别下属单位确有此类问题,对此我们深表歉意。目前我们已采取措施停止了向宽带用户推送第三方广告。真诚感谢您的关注与监督,欢迎网友通过各种方式向我们提出宝贵意见,以便我们更好地为您提供服务。

2013年2月4日星期一

Twitter遭黑客攻击25万账号泄密

  全球知名的社交网络及微博客服务网站Twitter日前宣布,该网站遭到黑客攻击,导致约25万账户信息被盗,其中包括用户姓名、电子邮箱、加密的密码。

  Twitter表示已经对这些被盗账户进行了密码重置,新密码已经被发送到了用户邮箱中。Twitter强调,被盗取的账户在Twitter所有账户中只占到很小比例,Twitter在全球大约有2亿活跃用户。

  一名专家表示,Twitter这次被攻击,可能是一名员工的家用或工作电脑首先被攻破,被利用的漏洞是Java不久前被曝光的漏洞。

  对于这一次被攻击,Twitter公司表示这绝不是有人为了恶作剧而与Twitter开的小玩笑。Twitter在随后的一份声明中提到:“这绝不会是业余人士做的,我们相信它绝对不会是一次孤立的事件,在它背后一定有一个专业的黑客团队,估计除了我们,近期内还会有一些其他的公司遭到他们的攻击。出于这个原因我们认为Twitter有必要向大家发出提示,并帮助政府和相关机构一起将这些攻击者绳之于法,为互联网用户提供一个更加安全可靠的网络环境。”

Twitter遭黑客攻击25万账号泄密

  虽然被攻击的Twitter帐号只占总共帐号的一小部分,但是我表示自己的Twitter也在被盗的行列中,不幸中枪,2月2日,我的信箱收到重置密码的邮件,旧密码无法登录,通过邮件里的链接地址可以直接修改新密码。

  根据微博上的反馈,包括和菜头等不少中文Twitter帐号都遭到了攻击,莫非这次黑客攻击是针对中文Twitter帐号的?

谷歌街景地图拍摄更衣室照片

  谷歌街景地图又立功了,这次拍摄到的照片令人震惊,在法国布里昂松的一家店叫Krakatoa体育用品商店的更衣室里,赫然站着一对正在做爱的男女。从照片上看,两人的衣裤都脱到了脚踝。

  谷歌去年9月增加室内街景地图,可以看到很多商家室内的照片。对于商家来说,得到了更多曝光机会,而对于用户来说,这个功能也相当实用,他们可以在进店前先看到店铺内部模样。

  目前室内街景地图已经覆盖了美国、澳大利亚、新西兰、法国、以色列、荷兰、加拿大和英国的一些城市,商家可以雇佣经过Google认证的摄影师对自己的店拍摄360度全景图。

谷歌街景地图拍摄更衣室

  该街景地址地址:点击这里

谁是中国移动互联网创新的毁灭者

  前段时间,有个文章,说《应用个人开发者已死》。我觉得,死的将不仅仅是个人开发者,还有小团队、小公司、中小型公司,甚至是中国移动互联网的创新。

  在IT技术能力非凡的今天,居然能让IT从业者、创新者感觉到“2012末日到来”的,到底是什么样的毁灭性力量在背后主导的呢?

  我觉得软件破解只是其中一个极小的部分。开源软件之所以火,就是不怕被破解,反而是软件及信息的开放。好的东西,只有不断地开放,让人免费去使用,才能让好的东西更好,更加易于人与人之间的传播。好的思想、文化、知识、信息、软件,最终将更大范围内,大大提升人类的文明发展水平,科技进程。开源软件,成为了互联网的根基,这点足已证实开源思想的作用了。

  那么:

  是谁,造成了中国式创新的窘迫?

  是谁,拦住了应用创新者,走向成功的阶梯?

  是谁,极大提升了用户获取真正有价值创新型应用的成本?

  是谁,让个人开发者乃至中国的创业者,对创新的绝望?

  是谁,败坏了移动应用开发的新市场?让中国式的instagram、神庙逃亡未能出现?

  免费,开源。不是互联网创新的毁灭者。大把的公司通过开源免费,然后获取非常好的用户收入。典型的如腾讯、网易、百度、360等国内外的大公司。

  付费,才是毁灭者!应用市场推广付费,让创新的成本大大提升,让每一个上线应用市场的新应用,如果想要流量,都不得不付给下载渠道相应的推广费用(榜单费用),这是对行业、互联网科技是毁灭性的!

  移动互联网创新,由于应用本身的开发难度非常低,所以适合用户需要的创新型产品,很容易开发出来。有的时候,往往开发一个应用,成本不过2-3个人花上2-3个月。刚学会编程的大学生,就能制造出适合大学生群体的应用。但这些应用,在中国能火起来吗?

  据一条最新业界新闻显示。几个刷榜公司,联合商议,为了避免黑黑之间的过度竞争,他们打算联合把控榜单。通过刷榜行为,联合控制每一个榜单结果。

  看到这类新闻。在与360打口水仗的中国工商总局作何感想?中国“应用市场乱象”将何去何从。作为中国市场份额最大的智能机系统,未来的移动端的windows(安卓操作系统)的应用下载渠道,国内的安卓应用市场,能否有点节操?

  又据一条新闻:中国国内的应用市场,已经被大公司所买断,花的仅仅是几十万元的榜单买断费。

  应用下载的渠道��应用市场都已经买断了。中国式创新,还能靠着一群本来就已经涉嫌垄断的大公司去创新吗?中国的移动互联网的未来,似乎已经被某些公司掌握在手了。所以有了:某某公司拿到了唯一的一张门票。XX公司又拿到了半张门票。

  大公司在财有势,买个榜单一年才花多少钱?1000万?1亿?好吧,直接收购它!故有X公司收购刷机精灵,某某等大公司买断各大应用市场榜单。

  其实,我不想指责大公司,有钱有势。不拿来用就太浪费了。谁不想越做越强啊。这是每个公司的目标啊。成长成为最大的,甚至是可能会垄断的公司。想想,中国人未来用什么,手机里装什么应用,每个月拿多少钱来充一下会员。这多美好!

  我只想说:作为一个市场,你得有起码的公正性。因为你作为每个应用的下载渠道。你决定的不仅仅是用户可能装上什么应用,更影响的是:用户接收到的是什么信息,使用上何种产品,最终影响到中国的未来科技发展的想像力,甚至是中国经济未来二三十年的走势。

  有句话说得好。身为媒体,你得保证你起码的节操!难道为了钱就可以做假新闻吗?为了钱就可以掩盖事实真相吗?

  同样,我们期待着,中国的应用市场,能有点起码的节操。因为移动应用,涉及到中国未来最大的娱乐、文化、教育、科技产业。没有节操的、为利是图的应用市场,将是中国式创新的毁灭者!

  应用市场即媒体,IT新媒体。中国应用开发者最大的希望或许就是:应用市场,得有点节操,不要为利是图,保持媒体式的公正性,不要为了那点榜单费,充当中国式创新的拦路虎与毁灭者。

  来源:李敬球投稿