Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

关于运营商链路劫持

  现在国内网络运营商的链路劫持行为越来越猖獗,已经动到了一些大公司头上了。不知这些运营商为何如此勇敢,又或者是法律漏洞的缘故(我猜的),总觉得将来一定会出现什么事故?但现在当务之急是解决劫持的问题。运营商到底有哪些花招?我们应该做些什么?
  以前运营商的劫持是在页面内加入一些奇怪的 SCRIPT 标签加载广告商的 js 文件,但这个做法是对 DOM 结构有干扰的,很可能搞挂整个页面之类的。对于这种级别的劫持其实页面程序都是可以检测出来的,可以写一些代码把页面被植入的广告给干掉。
  运营商当然也知道,这种劫持方式太危险,很容易暴露。后来它们又学会了一招,把原始页面放入一个 IFRAME 中,让广告和 IFRAME 同级。这样原始页面的 DOM 结构就不受影响,不容易被检测到,也不容易搞挂原始网页。但是即使这么做,原始页面还是可以在页面程序中检测出自己是否被嵌入 IFRAME 中,并且将顶层 Web 容器跳转到正确的地方。但是运营商可能会丧心病狂到让你根本没有一个「正确的地方」可以跳,只能乖乖地正常显示页面,或者给用户提示一个「网络被劫持」之类的东西。
  投诉工信部,走上艰苦而没有尽头的维权之路确实是应该做的事,但这需要很长时间。对于商业项目而言,「解决根本问题」有时候不如「快速解决问题」来得有意义。所以法律手段肯定不能作为解决方案。于是呢?—— 好像没有什么比全面使用 https 更好的解决办法了
  和运营商斗法只会让心更累。而且上面的几种情况是对于 HTML 页面的劫持,实际上运营商是傻逼,很多时候直接无视掉 HTTP 头中的其它信息,见到是 HTTP 就往里加特技。有些响应头明明是 application/json 的也被插入一坨奇奇怪怪的 HTML,导致客户端各种 JSON 解析失败之类的异常。这种程度的问题如果在逐个去考虑是不是每个公司都得专门成立一个防劫持小组和运营商斗法呢?
  综合各种因素我觉得还是全面 https 比较靠谱。也许需要点成本,但这肯定比和运营商斗法的成本低得多。而且 https 带来的好处也绝对不仅限于解决运营商劫持问题。
网名:
3.80.55.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^