先分析下流量劫持后的效果展现形式有几种?
1、A 标签
2、IMG 标签
3、IFRAME标签
其中有一个相同点,就是有链接,并且链接的域名不是本站域名的链接!
所以有一个思路就是在这些节点追加进 Dom 的时候就干掉,这样不就差不多可以搞定了!具体思路如下:
1、配置本站的白名单域名
2、在 Body 上绑定 MutationObserver* ,监听 dom 追加的相关事件
3、remove 掉没有匹配到的域名
4、上报被删掉的域名 (确定是否误删)
MutationObserver:
这样呢按说差不多就完事了! 但是上面的解决方案是广告已经运行了,那能不能在之前就处理呢? 那就考虑运营商一般都会通过哪几种方式追加广告呢?
1、追加 Script 标签
2、直接追加 HTML 至结束 Body
如果说站在运营商的角度呢? 我一般会选择追加 Script 标签, 因为好维护,所有的我只需要关注这个 Script 内容即可,渠道管理 、升级更新 我仅仅换个链接就 ok了。
所以基于此,是不是可以想办法把第一个搞定就差不多了 (好乐观的我 -- || )
其实解决方案还是和第一个解决方案一样,仅仅需要在检测标签的列表中加一个 Script 标签即可(SCRIPT,A,IMG,IFRAME),步骤啥的都一样!
实现的过程中肯定还会遇到很多问题! 加油哦~ 题主 (每一次迭代都是和流量商的 jser 斗智斗勇的过程~ ** )
其实说这么多,还是建议你们升 https 吧~
http://www.45zq.cn/portal/article/index/id/165.html
11-22
3302
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-11