近遇到微信图文消息被联通劫持的事情,着实被震惊到了。但其实平时也有用户反馈中国移动劫持的事情,从反馈的量来说,在手机端,联通和移动劫持的多,在PC端劫持疯狂的电信,在手机端倒是『安分』好多。
具体是怎么劫持的呢?
-
为了防止被劫持,微信给图文消息全量了https——图文消息都是内容类的,所以这里也没必要给一个『保护用户隐私安全』的理由。
-
iOS中safari/webview允许https执行http的资源,比如js。而chrome会将此类资源block掉。
-
运营商劫持了非https页面的某个js,这个js的角色是公用组件,在https页面中也有用到。
- 于是https的页面也变相被劫持了!
解决方案:
- https
- https
- https
嗯,其实可以顺便部署http/2的,一步到位了。
https虽然不是应该安全,但运营商要想劫持也不是这么简单的事情,但为了防止劫持而花大力气去部署https,可能不少人觉得不值吧,但牵涉到『用户体验』和『用户隐私保护』,我认为做任何事情都是值得的。
另外,其实发现现在运营商花了大力气来搞劫持,不过只是推送你的流量套餐信息,竟然不是强插广告!太TM用心良苦了!