浏览器地址栏里敲了个网址,防止回车,网页页面一闪,自动你被甩到某个满屏弹窗的跳转赌博网站。这种事碰多了,防止人很容易养成一种条件反射——手指悬在Ctrl+W上准备随时关标签页。网页但跳转这事,自动其实分两种:一种是跳转你主动点的,比如外链跳转,防止那是网页网站设计者的意图;另一种是你不点它也走,那叫劫持,自动是跳转流氓行为。
先说说最粗鲁的防止那种。你打开某个下载站,网页页面刚加载完,自动还没等你找到那个“本地下载”按钮,屏幕就自动切到另一个标签页,或者当前页面直接换了个域名。这种多半是页面上被植入了恶意JavaScript,最常见的写法就是
window.location.replace()或者meta refresh。对付这种,浏览器层面就能解决。以Chrome为例,设置里搜“弹出式窗口”,把“不允许任何网站显示弹出式窗口”打开,能挡掉一部分。但更狠的是那种不走弹窗、直接改当前页面的,这时候你需要一个扩展,比如uBlock Origin,装上以后,很多带跳转脚本的广告域名会被直接拦截,页面根本不会加载那行代码。但有个细节很多人忽略——跳转不一定发生在页面加载时。有些站点等你滚动到某个位置,或者点击页面空白处,才触发跳转。这种“延时劫持”用扩展拦起来比较费劲,因为它的触发条件跟你的行为绑定。我的土办法是:打开可疑页面时,先别急着动鼠标,按一下键盘上的Esc键。很多浏览器会因此停止后续的JS执行,至少能给你几秒钟时间判断这页面是不是正经货。
另一种跳转更隐蔽,它发生在网络层面,跟网页代码无关。你访问一个网址,运营商或者路由器里的恶意DNS把域名解析到了一个假IP上,返回的页面内容本身就带跳转。这种情况你改浏览器设置没用,得改DNS。把系统的DNS换成223.5.5.5(阿里)或者8.8.8.8(谷歌),能绕开大部分运营商劫持。我家里路由器就专门设了DNS-over-HTTPS,效果立竿见影——以前打开某些小说站,底部时不时弹个“您要的页面已搬家”,换了DNS之后,那种提示再没出现过。
还有一类跳转,你压根不该防——比如老网站从HTTP自动切到HTTPS,或者某个论坛维护时把帖子临时跳转到公告页。这种跳转是网站自己的意愿,你拦了反而白屏。所以动手之前,先判断一下:这个跳转是让我去一个更安全的页面,还是把我拖去一个不该去的地方?判断标准就一条——看地址栏。跳转后URL的域名跟你原本要访问的域名八竿子打不着,那基本就是劫持,该拦;要是只是从
example.com换成www.example.com,那就别折腾了。最后说个冷门的。有些浏览器插件本身就会引发跳转,尤其那些“免费VPN”或者“购物返利”插件。它们在你访问特定网站时,悄悄往页面里注入一段脚本,把商品链接换成带推广参数的跳转链接。你以为是网站变了,其实是插件在中间搞鬼。排查方法很简单:把浏览器所有扩展全部禁用,重启浏览器,再访问那个页面。如果跳转消失了,那就是某个插件干的——逐个启用,找出内鬼,删掉完事。我去年就逮到过一个叫“购物助手”的插件,它让我访问淘宝时多跳一次中转页,删掉之后清爽多了。
防跳转这事,七分靠工具,三分靠怀疑精神。别嫌麻烦,毕竟每次被劫持,不是你被卖了广告,就是你的点击被拿去刷了数据。你花几秒种做点设置,省下的是后面无数次的骂娘。
顶: 9399踩: 3637






评论专区