2016-07-15 5 views
2

私は私のウェブサイトの訪問者のChromeの拡張機能ではかなり興味を持って、彼らはウェブサイトでユーザーのChrome拡張機能やその動作を追跡する可能性はありますか?

(発信ネットワーク通信、ファイルの保存、保管、など)

これらを検出するために、任意の可能性があるが何をすべきか?

+1

おそらく関連:[ウェブサイトでChrome拡張機能をブロックできますか?](https://stackoverflow.com/questions/16786186/can-a-website-block-a-chrome-extension) – Xan

答えて

3

これはプライバシーの厄介な侵入になります。

拡張機能を検出するのに最も近いのは、ページのDOMおよびJS環境を調べて、ブラウザが期待していない方法でブラウザを修正したかどうかを確認することです。しかし、これは解決すべき大きな問題です実際には非常に特殊な効果(広告ブロッカーブロッカーの機能)を探すためにのみ行うことができます。

+0

ああ、わかります。したがって、私が大まかに検出できる拡張機能の唯一の種類は、 'Content scripts'です。 –

+1

@StevenPalinkasいいえ、あなたのページから隔離されたコンテキストで実行されるので、それらを検出することはできません。おそらく、拡張機能の影響をDOMと[注入されたページレベルスクリプト](https://stackoverflow.com/questions/9515704/building-a-chrome-extension-in-code-in-a)でのみ検出できます-page-a-content-script)があれば、それらは効率的に非表示になります。 – Xan

1

の一部の特定の拡張機能については、リソースを読み込もうとすることで検出できます。これは特定の拡張機能をテストし、リストを発見しません。

これは、拡張ID、リソースへのパス、およびリソースがわかっている必要があります。be in web_accessible_resourcesです。名前が示すように、Webコンテキストからいくつかのファイルにアクセスできるようになるため、それらを読み込もうとすることができます。ネットワークエラーは、インストールされていないことを示します(または、Webアクセス可能なリソースがなくなったことを意味します)。

また、事前にテストする拡張機能を知っている必要があります。また、Webアクセス可能なリソースのない拡張機能はこの技術では見えません。

注:

  • Googleのキャストライブラリuses this technique独自の拡張機能がインストールされている場合プローブします。
  • これは、JSコンソールから、JS転送コードから黙ってはいけないエラーである、ネットワーク転送の失敗のためにJSコンソールに厄介なエラーを生成します。これはChromeが最終的にのコンソールメッセージちょうど目障りではありません。

これから、拡張機能の長いリストをテストすることはおそらくお勧めできません。それはあなたのコンソールをエラーで汚染します。あらかじめ定義されたドメイン上で連携する拡張機能については、there's a better way to testがインストールされています。しかし、それはあなたの場合ではありません。

関連する問題