web-dev-qa-db-ja.com

FirefoxでAdBlockを使用しているかどうかをサイトで検出できますか?

最近、テレビ番組のエピソードを探すために(公式の)Webサイトにアクセスしました。このサイトでは、コンテンツを表示するためにAdBlockを無効にする必要があることを示す情報ダイアログが表示されました。これはまったく可能ですか、それとも単なる知識に基づく推測ですか? Firefoxはインストールしたアドオンをアドバタイズしますか?もしそうなら:どのようにそしてなぜそれはそのように機能するのですか?

38
Anders

はい、Adblock PlusがブロックされていることがわかっているJavascriptファイルを参照することで(デフォルトのルールに一致するため)、WebサイトはAdblock Plusがインストールされていることを検出し、変数を確認するなどして、このJavaScriptコードが実行されているかどうかを確認できます。

ここで説明を参照してください: Adblock Plusを検出する方法

ウィキペディアの詳細: Adblock-Detection

42
Snark

それは完全に可能です、それは少しのJavaScriptで行うことができます。複数の異なるadblockプログラムを検出する方法を示す概念実証 here を確認できます。これは、検出にJavaScriptも使用します。 Firefoxがインストールされたアドオンを「宣伝」するのは実際の事実ではなく、ほとんどのadblockプログラムが機能するために使用する方法です。ほとんどは単純に hide elements CSSの可視性プロパティを使用して特定のURLをフィルタリングします。これらのURLはフィルターをだますために偽造される可能性があり、 ブロッキング検出 に関して進行中の戦いです。

5
John T

トリックを使わずに、ほとんどのブラウザーはインストールされたプラグイン(Flashなど)をアドバタイズしますが、アドオン(Adblockなど、他の方法で検出可能です Snarkが回答したように )はアドバタイズしません。 Panopticlick を参照して、調査を支援してください...

3
Arjan