私はC#(Internet Explorer 11に基づく)を使用してWindows用のカスタムWebブラウザーを開発し、次の問題を理解して解決しようとしています。
1。 User Agent
文字列を調整し、プラットフォームも変更しましたが、 https://panopticlick.eff.org で一意性チェックを実行すると、結果にわずかに異なる文字列が表示されます。たとえば、次の調整済み文字列の場合:
「Mozilla/5.0(iPhone; Mac OSXのようなCPUiPhone OS 8_1)AppleWebKit/537.51.2(GeckoのようなKHTML)GSA/4.2.2.38484 Mobile/12B411 Safari /9537.53」
この文字列が表示されます:
"Mozilla/4.0(互換; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729 ; HPNTDFJS; GWX:RESERVED) "
Android用に開発したカスタムWebブラウザーで同じチェックを実行すると、調整されたUser Agent
文字列は記述されたとおりになります。カスタム文字でも同じ結果に表示されます。 Windows用に開発したブラウザでこの変更が発生する原因は何ですか?そして、合理的な解決策は何でしょうか?
2。 panopticlick システムフォント、画面サイズと色深度、ブラウザプラグインの詳細をどのように検索しますか?カスタムWebブラウザでこのデータを非表示/カスタマイズするにはどうすればよいですか?
明らかに、panopticlickは、送信先のユーザーエージェント文字列thinkを表示していません。
何が起こったのかについてのあなたの説明に混乱しています。 https://panopticlick.eff.org のページには、ユーザーエージェントは表示されません。
https://panopticlick.eff.org/index.php?action=log&js=yes のページには、文字列を変更するたびに指定したユーザーエージェントが表示されます。アプリケーションに別の文字列を使用するように要求した後に元のユーザーエージェント文字列が表示されている場合は、panopticlickのいくつかの厄介な機能よりも、コードにバグがあると信じる傾向があります。
ただし、これは、フィンガープリントスクリプトをだます方法とはまったく異なる質問です。 Panopticlickがどの方法を使用するかはわかりませんが、 広範囲のメトリック スクリプトが使用される可能性があります。私はあなたとEFFが相互の悪意を持っていないと推測しているので、あなたはあなたが失敗しようとしている人に対してあなたの努力を向ける必要があるでしょう。
質問1に答えると、違いはブラウザ自体です。カスタムデスクトップブラウザのIEベースは、他のMicrosoft製品とよりインタラクティブになるように設計されているため、すべての.NETの詳細です。Android 2番目のテストでも同じことがわかるでしょう。
Panopticlikを作成したEFFの人々は、質問2について詳細な説明をしています Webブラウザーはどの程度ユニークですか? ブラウザーは、幅広いシステムで魅力的なコンテンツをレンダリングするために、多くのハウスキーピングを行う必要があります。利用可能なフォントとシステム機能に関する詳細を定期的に交換します。さらに、EFF開発者は、欠落している、またはオフになっている設定から、信頼性の高い推論を行うことができました。リファレンスはあなたの質問のための素晴らしい読み物です。
最後に、これらのことを何も行わない独自のカスタムブラウザを作成する方法については、ああ、独自になったばかりなので、摩擦があります。私はこの能力を大規模に打ち負かす努力を見たことがありません。焦点がデスクトップである場合、同じように動作するブラウザーの大規模な展開(機能が非常に制限されている-おそらく最終的にはテキストベースのブラウザーにすぎない)でのみ、この不足に対処できます。