从一路捞导航网(16lao.com)的UA控制的页面跳转的BUG说起
来源:互联网 发布:网络零售额的定义 编辑:程序博客网 时间:2024/06/05 09:37
最近在地铁上看到了一路捞导航网铺天盖地的广告,想想明天就要踏上回家的火车,无事可做,于是就上上这个网站吧。
我的电脑安装的是Xubuntu系统,是个Linux操作系统,然后打开Firefox浏览器,键入16lao.com,回车。
奇迹发生了,页面从16lao.com跳转到m.16lao.com,之后又跳转到m.cn.16lao.com。
我心想,这可是个PC啊,怎么跳到移动端页面去了?
于是切换个UA吧,换成Win的UA果然没有再跳转了。
那么原因是什么呢?
先上CURL工具试试,
无论如何都会跳转cn.16lao.com的吧,继续
出代码了,估计不是header的事儿,再查查header
没有发现301,302什么的,估计是JS了。
看看源码吧,果然里面有这么一段:
<script type="text/javascript">function checkReqUrl(){ var redirectUrl = ""; var u = navigator.userAgent; if (u.indexOf('iPhone') > -1) { redirectUrl="http://m.16lao.com"; } if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { var referrerUrl = document.referrer; var re =new RegExp("http://hd[.].+[.]16lao.com"); if(!re.test(referrerUrl)){ redirectUrl="http://m.16lao.com"; } } if(redirectUrl!=""){ window.location.href = redirectUrl; }}checkReqUrl();</script>
于是真相就浮出水面了。
原来你家是判断UA里面的字符的,Android和iPhone也就罢了,Linux是个什么鬼?
这是鄙视Linux操作系统上网的家伙们么?
1 0
- 从一路捞导航网(16lao.com)的UA控制的页面跳转的BUG说起
- iOS-非父子控制器跳转(如:从某一导航控制器的子页面跳转到另一个tabbar控制的页面)
- 从string引起的串扰bug说起
- HTML跳转-从获取 Referrer 的方法说起
- UINavigationControlle(导航视图控制器)控制下的页面跳转与值的传递(协议传值)
- 导航实现页面内的跳转
- 博客浏览:js 控制页面的跳转
- Iframe引用页面跳转的控制
- 用js控制frame的页面跳转
- JavaScript中控制页面的跳转
- 从普林斯顿的宽容说起
- 从北京的四合院说起
- 从js的dtree说起
- 从香蕉的果蝇说起
- 从 grep 的用法说起
- 从自己的电脑说起
- 从OpenCV2的Mat说起
- 从Java的Collection说起
- CSS 最核心的几个概念
- Linux初学——磁盘的分区、格式化、检验与载入
- [前端]网页中使用自定义字体
- html特殊字符
- MySQL实用工具汇总
- 从一路捞导航网(16lao.com)的UA控制的页面跳转的BUG说起
- JavaScript实现类的private、protected、public、static以及继承
- 剑指offer—二叉树的镜像
- 360笔试题一:时钟模型
- js截断过长字符串为省略号算法
- Hadoop2.6.0在MAC下伪分布安装
- Odoo(OpenERP)开发实践:基本字段类型
- c# Nested transactions are not supported
- 剑指offer—顺时针打印矩阵