运营商劫持加广告一般是加在 body 下面的吧,那我把我的内容放在一个 body 下 div 里,程序里有个脚本直接把不是这个 div 的内容全删除了是不是就可以反劫持了?

2017-10-30 09:15:40 +08:00
 doubleflower
我要把 https 改成 http,有些地区就会有劫持问题,我没被劫持过不知道具体劫持有哪些情况,我把这些情况都处理了是不是就行了?(相当于做个应用内 AdBlocker)
3836 次点击
所在节点    编程
20 条回复
7654
2017-10-30 09:25:45 +08:00
运营商劫持不都是将目标网站放入 frame 中的吗
wclebb
2017-10-30 09:28:30 +08:00
感觉应该不断地追查,然后屏蔽。
那还不如让人安装 ADBlock
doubleflower
2017-10-30 09:29:27 +08:00
@7654 那种应该不是最常见的吧,而且最好处理,判断下顶层 frame 不是自已域名不是就重设就行
doubleflower
2017-10-30 09:31:22 +08:00
@wclebb 为什么要不断追查,把不是自已 div 的元素全删除不就一劳永逸了?
viko16
2017-10-30 09:31:34 +08:00
记得有用 HTML 注释来反劫持插入的…
LanFomalhaut
2017-10-30 09:34:02 +08:00
想多了 各地运营商劫持规则不一样 常见的是 iframe 恶心的按照文件名劫持 如 JS/apk 等等 有 https 为何还要降级成 http..
wclebb
2017-10-30 09:34:51 +08:00
@doubleflower #4 原因如 #6 楼
7654
2017-10-30 09:35:47 +08:00
@doubleflower #3 我这边(江苏电信)的劫持都是这种,已经收集到了 100 多个页面资料了,有纯 IP 也有使用域名的
doubleflower
2017-10-30 09:40:26 +08:00
@LanFomalhaut iframe 最好处理。截持 JS 不就是为了加内容到 body 吗?去掉不就行了


我网站在国外,https 最近很多用户反映打不开,http 反而可以。
doubleflower
2017-10-30 09:42:00 +08:00
@7654 iframe 被套的加个这就行了:
if (window.location !== window.top.location) { window.top.location = window.location; }
doubleflower
2017-10-30 09:43:55 +08:00
我说的意思是,html 结构如下:

...
<body>
<div id="mycontent">我的网站内容</div>
</body>
...

我应用内的脚本会把 body 下除#mycontent 之外的内容全 remove 了,这是不是就可以防所有加广告的劫持了?
learnshare
2017-10-30 09:51:47 +08:00
为什么不用 HTTPS
est
2017-10-30 09:55:57 +08:00
你这样写

<html><!--
<head>
<body>
-->
<head>
<body>

可以避免一波劫持。亲测有效。

但是现在劫持手段太 jb 贱了。

有的直接强制在返回 html 最开头插入 <script>

根本无视任何页面结构。
doubleflower
2017-10-30 09:57:44 +08:00
@est 我之前就是这样的,没有用,客户给我截图看了,不过后来我上 https 了就没分析过为什么没用。
doubleflower
2017-10-30 10:00:02 +08:00
@learnshare 之前我说了啊,现在很多地方直接就打不开国外的 https 了,我这几天被烦死了只好降级 http
hubert3
2017-10-30 10:04:57 +08:00
@est 这个是什么原理?
lybtongji
2017-10-30 10:07:52 +08:00
这个试试? web.jobbole.com/87561/
est
2017-10-30 10:10:52 +08:00
@doubleflower 让客户给你截网页源码
SilentDepth
2017-10-30 10:28:16 +08:00
@hubert3 #16 HTML 代码分析没有忽略注释,只是简单地找到第一个 <head> 或者 <body> 然后插入劫持代码,于是被一同注掉了
gaolycn
2017-10-30 11:51:42 +08:00
@doubleflower 你这个不会死循环吗,修改 window.top.location 的内容不还是篡改后的吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401798

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX