随想:小米路由器劫持用户404 403等错误页面

今天生病在家,去访问我日常经常上的某个IT网站时发现小米路由器劫持用户的404(Not Found),403(Forbidden)以及500(Internal Server Error)等错误页为自己的错误页(下图1),并且设置了一段自己的JS(JavaScript)来在某些网站的顶部推广自己的应用程序(下图2).

小米路由器劫持404页面(图转:http://www.guokr.com/post/678944/)
小米路由器利用JS代码插入广告,推广自家应用(图转:http://www.leiphone.com/news/201506/wzxn4CKwZFx4zxe9.html)

对此发表下自己的随想吧.

*:2015.7.7:已更新后续发展


1.跟我有什么关系?

其实我也有一台小米路由器mini,但未受此影响,因为它运行第三方固件OpenWRT.

当时我只是认为小米自带的固件功能少,而且安装插件什么的需要靠手机上的客户端,十分麻烦(不知现在是否还是这样,但我当时买来时它所运行的官方固件是这样的).所以刷机了.

小米路由器mini
OpenWRT固件

2.小米的说法

(以下内容取自小米官网的更新说明,原网址可移步:http://bbs.xiaomi.cn/thread/index/tid/11415111)

作为一台智能路由器,要帮助大家更好的上网,快速找到想要浏览的内容。
在2.1.88开发版中,我们优化了一个体验:访问网站时我们经常遇到:

404 Not Found是一种常见的网络错误,意为链接指向的内容不存在,但提示稍显敷衍、丑陋,如果不知道的,还以为是家里断网了。而且想继续访问时,还需关掉页面再进行搜索,非常不方便。

于是我们对这个页面进行了优化:

1. 更加友善的呈现方式。
当遇到404错误页面时,不再呆板的显示错误代码。

2. 快捷的搜索按钮。
因为引起404的很大一部分原因,是直接在地址栏输入要搜索的内容,而没有先访问百度。

3. 常用的网站导航。
在访问常用网站时敲错地址,也会发生404,快捷导航带你直达页面。

优化网站返回的404错误页面,让网页更友善,上网更方便,新功能大家觉得怎么样?


3.用户的反响

用户反响似乎并不好,小米这篇更新日志(http://bbs.xiaomi.cn/thread/index/tid/11415111)里评分放眼望去全是负分,评分附带的评论里几乎都是说小米"流氓行为"或是"为了商业目的"

而点评里也是差评:

还有人讽刺小米的行为,比如:

ykstar:下一步你准备干嘛?是不是觉得我的银行密码不好记,给我改个好记的?

同时我还在小米论坛上发现了几篇用户发表的,对此表示反感的帖子:

小米路由器错误页面劫持就是个脑残的功能!

别在无耻了行不,路由器不好好做,竟然搞劫持

请小米停止http劫持!!!!


4.我的感受

看到这里我不得不说:产品的用户体验是一家公司用自己的心血凝聚出来的,但是被毁于一旦也是很容易的,但是就像积木,搭建时难,推倒(不要想歪= =)却容易.

路由器作为网关设备想搞个页面劫持或是插入个JS来做点广告挺容易的(估计南方电信之流的无良运营商,就是利用此原理做弹窗广告),尤其是这种有一个Linux Based操作系统(*:小米声称其路由器产品的固件为OpenWRT经"二次开发"而成的)的智能路由器,似乎就更加容易了,我曾还在(好像是恩山网)看过网友使用OpenWRT固件的路由器模仿商家的公共无线网络在页面右下角插入推广信息的帖子...

但是,我对小米不顾用户体验,只顾商业利益的行为并不意外,早在它觉得自己"做大了,有本事店大欺客了"的时候,这种行为就开始了——像我的小米2S手机,从MIUI5开发版到MIUI6"尝鲜版",通知栏中不时就有小米官方的应用程序如"音乐" “流量助手” “小米电台” “米币中心” “主题”等应用程序发来的推送广告——比如近日我截下的数张截图:

MIUI6中流量助手产生的推送广告
MIUI6中小米电台产生的推送广告

当然了,一般消费者(多数根本不会刷机的)对此恐怕没什么办法;有些用户有办法修改官方固件解决掉它,这固然是比较好的;但我认为呢,最好的还是刷一个功能多又比较可靠的第三方固件,因为未来小米指不定会搞出什么幺(yāo)蛾(é)子(zi).

多说无益.总而言之,用户的眼镜是雪亮的,小米嘴上说"更人性化"云云,背后打的什么算盘用户看的最清楚了.


(以下为2015.7.7更新内容)

5.月光博客的新发现

(原文)

可谓一波未平,一波又起。劫持404页面,通过JS脚本插入广告等风波还没过去,月光博客博主Williamlong又有了新发现:他尝试用小米劫持后的404页面中的百度搜索框搜索内容,发现链接中包含tn=89046110_pg等字符,查看搜索页面源代码,也能发现如下一行

<input name="tn" type="hidden" value="89046110_pg">

但是这是个什么东西呢?月光博客博主给的解释是:

如果我没记错的话,这应该是百度联盟里的“搜索推广”代码,用户使用这个搜索框去搜索,点击搜索结果里的百度推广广告,百度联盟用户就会有收入分成。这就意味着,小米路由器的用户访问不存在的404页面后,都有可能帮小米公司赚钱。

看来没过多久,小米的居心便暴露了...


6.小米的解释

(原文)

我们极度重视用户的体验,"404"本空白页面和错误代码,我们在其中加入快捷搜索旨在网页出错时帮助用户更便利的继续浏览,很多系统和浏览器也做了类似的功能。

但一些别有用心的人恶意夸大,利用“劫持”、“代码注入”等专业术语制造恐慌煽动用户。我们反对这种恶意抹黑困扰用户的行为。

我们非常欢迎和重视用户提出的建议,并积极在产品上做出优化。

根据用户建议:

1.我们将尽快在优化页面上提供“继续访问原网页”的按钮,以方便一些特殊需求的用户。

2.如果页面优化功能存在“误伤”情况,欢迎在帖子下回复网址反馈给我们,我们将及时调整。

感谢各位用户的支持与关注

以上是原文(但部分字是由我改成了粗体),完全看不出小米的诚意,反而声称这次事件是"有人恶意夸大" “制造恐慌” “煽动用户” “恶意抹黑”,意图以此推脱责任,否认自己错误,而且我看,小米也没搞清到底是谁在“困扰用户”.

而用户对此并不买账,截至我更新文章,小米网页面下方的评分板总计为-38分。而且,小米声称提供"继续访问原网页"按钮企图消除批评声音,我认为是办不到的,它应该做的是取消这功能,抑或是提供彻底关闭它的方法.

还有一些用户说——

笔墨染丹青:这是要走360老流氓的路子了吗?别扯淡,就回答是不是!

zwjbbs:我们要的是取消这流氓功能,不是关闭!!!


7.我的观点

不难看出小米实在是"掉钱眼里了",想钱想疯了,根本就不是为所谓的“用户体验”,而且也不端正解决问题的态度,不提供有效解决方法.

我关注此事件时看到过果壳网上一位网友的发言(恕我忘记了具体网址),感觉很有道理,内容大致是——

这些国产智能路由,不刷个第三方固件能用么.

32条评论

      1. @Hardrain : 而且是114.114.114.114这个DNS厂家以前做的。这个厂家现在感觉这个东西太过流氓金盆洗手了,但是……你买都卖出去了,都部署到省级骨干网上去了,金盆洗手有什么用啊……

    1. @vfhky : 有些产品刚发布的时候还是比较注重用户体验,但是他们想钱想疯的心是经不住时间的考验的

  1. SSL 大法好。但我的网站在开启强制 SSL 的情况下,只有使用 IE11、Chrome、Firefox 浏览器的用户能访问我网站,所以只好先改成非强制的。

    1. @tcdw : 嗯 理想状态就是所有网站上SSL了 至于低版本IE等过时浏览器我觉得不用再考虑它们了吧...

      1. @Hardrain : 然后你猜怎么着?开启强制 SSL 以后,Safari、IE 10、UC 浏览器都打不开我网站了。Opera 还没来得及测试。

        1. @tcdw : 我还没有开启强制ssl,不过已经加入了hsts【http严格安全模式】,高级的浏览器【ie9及以上,chrome,Opera,firefox……】都会自动跳转https的。

        2. @tcdw : 这是 难道是因为CA是不被信任的?按说不应该啊(我也不是很懂SSL CA什么的...)

评论已关闭。