家里用的是移动的宽带,平时手机用数据流量多一些。
偶尔使用wifi浏览网页,部分网页(http页面)上会出现小广告,到还不影响我正常上网。
这两天发现在玩的游戏在家里wifi下无法登录(平时在家一直用的数据登录游戏,在办公室用wifi可正常登录)。还遇到电视上有些网络节目一点播放就直接退出了。
浏览网页出了小广告,应该是页面上被移动插入了广告代码。
游戏登录不了,可能是游戏使用了http协议传递登录数据。
那运营商到底对我的http做了啥?
为了知道他们到底做了啥,我特地在服务器上准备了一个测试页面。代码不多,就4行
<html>
<head>
</head>
</html>
一个空白的html页面。
但是手机上访问这个页面就成了这样(为方便测试,这里使用了火狐浏览器+修改user agent的插件模拟手机访问)
可以看到右下角多了一个领红包的小广告
点击之后跳转到一个导航网址https://efrouter.html5.qq.com/page/home/page?logId=1436627666199605248&scene=portal
看起来是在腾讯的服务器上。难不成是腾讯的?
通过观察浏览器接收数据来看,服务器上4 行代码,到我们这里已经多了一行js脚本
<html>
<head>
<script src='https://efrouter.html5.qq.com/page/home/js?scene=redbagToPortal&logId=1436630754488586240
&macAddress=2d81950adda51e8f65b910a98ff06148&manufacture=&mode=' async=true></script>
</head>
</html>
这个js会生成其他元素,最终呈现给我们的是这样的结果,就是上面那个浮动广告的源码。
<head>
<script src="https://efrouter.html5.qq.com/page/home/js?scene=redbagToPortal&logId=1436629841857470464&macAddress=2d81950adda51e8f65b910a98ff06148&manufacture=&mode=" async="true"></script>
<style media="screen">.r-s-redbag-icon {
position: fixed;
z-index: 9999999; }
.r-s-redbag-icon div,
.r-s-redbag-icon p,
.r-s-redbag-icon img {
margin: 0;
padding: 0;
border: 0;
vertical-align: baseline; }
.r-s-redbag-icon {
-webkit-tap-highlight-color: transparent;
text-align: center;
font-size: 0;
width: 80px;
right: 17px;
bottom: 17px; }
.r-s-redbag-icon .img {
position: relative;
width: 50px;
height: 65px;
background-image: url(//qzs.qq.com/open/yyb-fbi-efrouter/static/media/redbag.3a17f4.png);
background-position: center;
background-size: contain;
background-repeat: no-repeat;
display: inline-block; }
.r-s-redbag-icon .img .close {
width: 16px;
height: 16px;
background-color: #b3b3b3;
border-radius: 25px;
position: absolute;
top: -4px;
right: -12px; }
/*# sourceURL=/Users/yajinsun/Desktop/code/RouterServer/www/src/pages/redbag/index.txt.scss */
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy95YWppbnN1bi9EZXNrdG9wL2NvZGUvUm91dGVyU2VydmVyL3d3dy9zcmMvcGFnZXMvcmVkYmFnL2luZGV4LnR4dC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksZ0JBQWU7RUFDZixpQkFBZ0IsRUFTbkI7RUFYRDs7O0lBTVEsVUFBUztJQUNULFdBQVU7SUFDVixVQUFTO0lBQ1QseUJBQXdCLEVBQzNCOztBQUdMO0VBQ0kseUNBQXVDO0VBQ3ZDLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osWUFBVztFQUNYLFlBQVc7RUFDWCxhQUFZLEVBb0JmO0VBMUJEO0lBUVEsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxhQUFZO0lBQ1osZ0RBQW1DO0lBQ25DLDRCQUEyQjtJQUMzQix5QkFBd0I7SUFDeEIsNkJBQTRCO0lBQzVCLHNCQUFxQixFQVV4QjtJQXpCTDtNQWlCWSxZQUFXO01BQ1gsYUFBWTtNQUNaLDBCQUFrQztNQUNsQyxvQkFBbUI7TUFDbkIsbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxhQUFZLEVBQ2YiLCJmaWxlIjoiaW5kZXgudHh0LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuci1zLXJlZGJhZy1pY29uIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgICBkaXYsXG4gICAgcCxcbiAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cbn1cblxuLnItcy1yZWRiYWctaWNvbiB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDA7XG4gICAgd2lkdGg6IDgwcHg7IC8vIGhlaWdodDogODdweDtcbiAgICByaWdodDogMTdweDtcbiAgICBib3R0b206IDE3cHg7XG4gICAgLmltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4vcmVkYmFnLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigxNzksMTc5LDE3OSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiIn0= */</style></head>
<body>
<div style="" class="r-s-redbag-icon"> <div class="img" id="redbag-icon"> <div class="close"> <svg viewBox="0 0 40 40"> <path d="M 12,12 L 28,28 M 13,28 L 28,12 Z" fill="white" stroke-width="3" stroke="white"></path> </svg> </div> </div></div></body>
20200321补充:虽然之前经常遇到运营商搞这种流量劫持的事。但我这次的情况,我多次查资料、测试,确认劫持动作发生在家里的路由器上。路由重新刷机后,问题消失。