网站内容劫持 广告(怎么处理http被劫持浮动广告的注意事项有哪些,如何处理)
优采云 发布时间: 2021-11-23 18:14网站内容劫持 广告(怎么处理http被劫持浮动广告的注意事项有哪些,如何处理)
这次给大家带来如何处理http劫持浮动广告,以及处理http劫持浮动广告的注意事项有哪些?下面是实际案例,一起来看看吧。
最近发现网站经常在右下角弹出一个浮动广告。一开始以为只是浏览器广告。
后来,越来越多的同事反映,家里的不同浏览器也会出现广告。然后深入查看,发现网站被劫持了。
然后百度得到了很多信息,比如http劫持、dns劫持、运营商劫持等,确定是真的中招了。
IIS7网站监控工具可以提前防范各种网站劫持,免费在线查询,适用于各大站长、政府网站、学校、公司、医院等。 网站。可以做24小时定时监控,同时可以让你知道网站是否被黑、被黑、改标题、被黑、被劫持、被墙、DNS是否被污染等,独家测试网站真正的全开时间,让您作为站长,一目了然的了解网站的健康状况!
官方地图
官方地址:
这是一个黑客,已插入广告代码。他是个不择手段的奸商,无所不能。
然而,最重要的解决方案是什么?然后把问题抛给运维同事。
最终的结果是没有解决方案。没错,就是这样的作弊。除非使用 https。网上电话、信件和投诉似乎毫无用处。可能是运维太差了。反正结果是没有结果。
那么,就没有办法了。我们只能想办法通过我们的大前端来阻止它。然后开始了研究劫持代码的旅程,
...过程中省略了800字的搜索过程。
最后发现被劫持的广告会定义一个js全局变量_pushshowjs_,里面保存了被劫持广告的一些信息,然后创建了一个id为_embed_v3_dc的ap来放置广告。而且每次都是一样的,不会有变化。
根据劫持广告的投放原理,最终采用js拦截劫持广告的方法。
具体代码如下:
;(函数($,窗口,未定义){
var needClear=false,
暂停;
如果(窗口。_pushshowjs_){
console.log("adHttp");
需要清除=真;
}
window._pushshowjs_={};
Object.freeze(window._pushshowjs_);//使对象只读,防止属性被直接修改
Object.defineProperty(window,'_pushshowjs_', {
configure: false,//防止属性被重新定义
writable: false//防止属性被重新赋值
});
如果(需要清除){
超时=setInterval(函数(){
if($("#_embed_v3_dc").length>0){
$("#_embed_v3_dc").remove();
console.log("http 清除");
需要清除=假;
清除间隔(超时);
}
},500);
$(window).load(function(){
如果(需要清除){
设置超时(功能(){
清除间隔(超时);
console.log("清除");
},2000);
}
});
}
}(jQuery,window));
代码不多,就不详细分析了(如果觉得代码有问题,欢迎指正)。简单来说,就是将劫持广告所必需的全局js变量_pushshowjs_设置为不可修改、只读。如果发现广告,它将被清除。
贴上代码后,终于对被劫持的广告说了88。
为什么是傻瓜式?
因为这只是自欺欺人。事实上,劫持仍然存在,被劫持的js加载顺序可能会发生变化,导致错误。理想的解决方案是依靠运维和运营商来解决或使用https。
每次劫持的广告逻辑应该是一样的,只是广告代码会有所不同。所以我的可能不适用于其他劫持广告。这只是一种思路,没有出路。
有大神有更好的解决办法,请各位大神指教。