手机浏览器里点开一个链接,手机页面闪了一下,打开到别的网跳到了完全不相干的网站网站——大概率是博彩或色情页面。这事儿我碰到过不下十次,跳转每次都想摔手机。手机
上个月帮邻居修手机,打开到别的网他抱怨“手机中毒了”。网站我拿过来一看,跳转微信里点开朋友发的手机新闻链接,直接弹出一个“澳门威尼斯人”的打开到别的网广告页,关都关不掉。网站退回微信再点,跳转还是手机跳。换个浏览器,打开到别的网照样跳。网站问题不在手机,在DNS——他家的路由器被改了设置,所有域名解析请求都被劫持到了恶意服务器。
这种跳转分两类。一类是服务器端干的,网站自己代码里埋了跳转逻辑,检测到手机UA(用户代理)就重定向。另一类是网络层面的,你的请求在传输途中被掐了一下,改道去了别的服务器。前者是网站想赚广告费,后者是黑客想赚黑产钱。
最气人的是那种“只跳一次”的。你点开页面,先快速加载原网站内容,然后突然跳走。等你按返回键,原网站已经缓存好了,看起来就像什么都没发生。这种设计专门骗过普通用户的眼睛——大部分人以为是自己误点了广告。
我试过用不同手机测试同一网站。iPhone的Safari很少跳,因为苹果的WKWebView对跨域跳转限制严格。安卓的Chrome也还行,但国产浏览器——UC、QQ浏览器、甚至某些手机自带浏览器——跳转概率极高。原因很简单,这些浏览器有“流量劫持”的灰色收入,第三方SDK(软件开发工具包)里就藏着跳转代码。你装了个天气应用,它顺手把你的浏览器流量卖了,你根本不知道。
有个技术细节值得知道:跳转目标网站通常会检测你的屏幕分辨率。如果你用安卓手机,分辨率是1080×2340,它给你展示赌博页面;如果是iPhone,分辨率是1170×2532,它可能展示色情直播。这些页面做得极其逼真,有真人客服头像,有实时投注流水,甚至能让你充钱。你一旦输入银行卡号,就完了。
对付这种跳转,最有效的方法是改DNS。把手机的WiFi设置里的DNS改成`1.1.1.1`或`8.8.8.8`,能绕开大部分路由器劫持。但治标不治本——如果恶意代码在手机App里,你改什么DNS都没用。我自己的做法是装一个开源的AdGuard,能拦截大部分跳转请求。代价是有些合法网页的广告也被拦了,页面排版会乱。
还有一种情况是运营商搞的鬼。某些地区的移动或联通,会在HTTP请求里插入跳转代码。你访问一个没有HTTPS加密的网站,运营商就能在返回的数据包里塞一段JavaScript,让页面自动跳转。这种情况你换浏览器、改DNS都没用,只能装VPN或者尽量访问HTTPS网站。
说到底,这事的根源是利益链。网站想赚钱,浏览器想赚钱,运营商想赚钱,黑客更想赚钱。你一个普通用户,就是这条链上的流量。别指望谁能自觉收手——工信部查过几次,罚过几家,但黑产换个马甲又回来了。
我的建议很简单:别用国产第三方浏览器,别装来路不明的App,路由器密码改复杂点。真要跳转了,别点任何按钮,直接关掉页面重开。你越跟它纠缠,它越来劲。
顶: 767踩: 1833






评论专区