Home  >  Article  >  Web Front-end  >  How to deal with http hijacked floating ads

How to deal with http hijacked floating ads

php中世界最好的语言
php中世界最好的语言Original
2018-04-19 11:04:393115browse

This time I will bring you how to deal with http being hijackedfloatingadvertisements, what are the precautionsfor dealing with http being hijacked floating ads, the following is a practical case, one Get up and take a look.

Recently, I discovered that a floating advertisement often pops up in the lower right corner of the website. At first, I thought it was just a browser advertisement.

Later, more and more colleagues reported that advertisements would appear in different browsers at home. Then I checked in depth and found that the website had been hijacked.

Then Baidu searched a lot of information, such as http hijacking, dns hijacking, operator hijacking, etc., and I was sure that I had been tricked.

It’s really an understatement, the advertising code has been inserted. What an unscrupulous businessman, he can do anything.

However, what is the most important solution? Then the problem was thrown to the operation and maintenance colleagues.

The end result is that there is no solution. Yes, it's such a cheat. Unless https is used. Making phone calls and sending complaints online seems to be of no use. Maybe the operation and maintenance is too bad. Anyway, the result is nothing.

Then, there was nothing we could do. We can only find a way to block it on our own as a big front end. Then started the journey of researching hijacking codes,

...the process omits the 800-word search process.

Finally, it was discovered that the hijacked advertisement would define a js global variable _pushshowjs_, which stores some information about the hijacked advertisement, and then create a p with the ID of _embed_v3_dc to put the advertisement. And it will be the same every time, there will be no changes.

According to the delivery principle of hijacked advertisements, the js method of blocking hijacked advertisements was finally used.

The specific code is as follows:

;(function($,window,undefined){
 var needClear=false,
  timeout;
 if(window._pushshowjs_){
  console.log("adHttp");
  needClear=true;
 }
 window._pushshowjs_={};
 Object.freeze(window._pushshowjs_);//让对象只读, 防止属性被直接修改
 Object.defineProperty(window, '_pushshowjs_', {
  configurable: false,//防止属性被重新定义
  writable: false//防止属性被重新赋值
 });
 if(needClear){
  timeout=setInterval(function(){
   if($("#_embed_v3_dc").length>0){
    $("#_embed_v3_dc").remove();
    console.log("http清除");
    needClear=false;
    clearInterval(timeout);
   }
  },500);
  $(window).load(function(){
   if(needClear){
    setTimeout(function(){
     clearInterval(timeout);
     console.log("清除");
    },2000);
   }
  });
 }
}(jQuery,window));

There is not much code, so I won’t analyze it in detail (if you think there is something wrong with the code, please correct me). To put it simply, set the global js variable _pushshowjs_ necessary to hijack advertisements to be unmodifiable and read-only. If you find ads, clear them.

I released the code and finally said 88 to the hijacked advertisement.

Why do you say it's a stupid way?

Because this is just self-deception. In fact, hijacking still exists, and the loading order of hijacked js may change and cause errors. The ideal solution is to rely on operation and maintenance and operators to solve it or use https.

The advertising logic of each hijack should be similar, but the advertising code will be different. So this may not be applicable to other hijacking ads. This is just an idea, a solution among all solutions.

If anyone has a better solution, please give me some advice.

The above method of using js to block floating ads hijacked by http is all the content shared by the editor. I hope it can give you a reference, and I hope you will support Yiju Tutorial Network.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

Detailed explanation of the use of Vue scope slots

JS implementation of data validation and check box form submission

JS to easily implement carousel images


The above is the detailed content of How to deal with http hijacked floating ads. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn