ホームページ  >  記事  >  ウェブフロントエンド  >  http ハイジャックされたフローティング広告に対処する方法

http ハイジャックされたフローティング広告に対処する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-19 11:04:393115ブラウズ

今回は、httpが乗っ取られフローティング広告に対処する方法と、httpが乗っ取られ、フローティング広告に対処する際の注意事項を紹介します。実際のケースを見てみましょう。

最近、Web サイトの右下隅にフローティング広告が頻繁に表示されることに気付きました。最初は単なるブラウザの広告だと思いました。

その後、自宅の別のブラウザに広告が表示されると報告する同僚が増えました。その後、詳しく調べてみたところ、Web サイトが乗っ取られていることがわかりました。

その後、百度は http ハイジャック、DNS ハイジャック、オペレーター ハイジャックなどの情報をたくさん検索し、私は騙されたと確信しました。

本当に控えめな表現ですが、

広告コードが挿入されています。なんと悪徳実業家だ、彼は何でもできる。

しかし、最も重要な解決策は何でしょうか?その後、問題は運用および保守の同僚に投げかけられました。

結局のところ、解決策はないということになります。はい、それはとても詐欺です。 https を使用しない限り。電話をかけたり、ネットで苦情を送ったりするのは無駄のようです。もしかしたら運営やメンテナンスが悪すぎるのかもしれません。とにかく、結果は何もありません。

それでは、私たちにできることは何もありませんでした。フロントエンドでブロックする方法しか見つかりません。それからハイジャックコードを研究する旅が始まりました

...このプロセスでは、800 語の検索プロセスが省略されます。

最後に、ハイジャックされた広告は、ハイジャックされた広告に関する情報を格納する js グローバル変数 _pushshowjs_ を定義し、広告を配置するために _embed_v3_dc の ID を持つ p を作成することが判明しました。そしてそれは毎回同じであり、変化はありません。

ハイジャック広告の配信原則に従い、最終的にはjsを利用してハイジャック広告をブロックする方法が採用されました。

具体的なコードは次のとおりです:

;(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));
コードが少ないので、詳細な分析は行いません(コードに何か問題があると思われる場合は、修正してください)。簡単に言うと、広告のハイジャックに必要なグローバルjs変数_pushshowjs_を変更不可かつ読み取り専用に設定します。広告を見つけたら消去してください。

私はコードを解放し、最終的にハイジャックされた広告に対して 88 と言いました。

なぜそれが愚かな方法だと言えるのですか?

なぜなら、これはただの自己欺瞞だからです。実際、ハイジャックは依然として存在しており、ハイジャックされた js の読み込み順序が変更され、エラーが発生する可能性があります。理想的な解決策は、運用保守とオペレーターに依存して解決するか、https を使用することです。

各ハイジャックの広告ロジックは類似している必要がありますが、広告コードは異なります。したがって、これは他のハイジャック広告には当てはまらない可能性があります。これは単なるアイデアであり、あらゆる解決策の中の解決策です。

誰かがより良い解決策を持っている場合は、アドバイスをお願いします。

js を使用して http にハイジャックされたフローティング広告をブロックする上記の方法は、編集者が共有したすべての内容ですので、参考にしていただければ幸いです。Yiju Tutorial Network をサポートしていただければ幸いです。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Vue スコープ スロットの使用方法の詳細な説明

データ検証とチェックボックス フォーム送信を実装するための JS

カルーセル画像を簡単に実装するための JS


以上がhttp ハイジャックされたフローティング広告に対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。