ウェブサイトは私の MAC アドレスを読み取ることができますか?

ウェブサイトは私の MAC アドレスを読み取ることができますか?

あるオンライン ゲームのユーザーから、モデレーターの 1 人との会話によると、ゲーム エンジンでは、ユーザーが複数のアカウントでプレイしている場合、それらのアカウントが同じコンピューターで作成されている場合、そのケースをすぐに特定できるという主張がありました。彼は、それがコンピューターよりもネットワーク カードに関係していることを理解していたので、私はすぐに、唯一の可能性は MAC アドレスを読み取ることであると特定しました (ユーザーは複数のブラウザーを使用でき、システムを再インストールでき、セキュリティはいずれにせよ機能します)。

その発言にとても興味をそそられました。ブラウザ ゲーム (PHP で記述) が実際に MAC アドレスにアクセスして読み取ることは可能でしょうか? ActiveX はそうではありません。IE を使用しているゲーマーはごく一部だからです。それを可能にする標準的なメカニズムは知りませんが、私は専門家ではありません...

MAC アドレスを読み取ることができるとプライバシーにとって大きな危険となるため、これは非常に不安です...

答え1

通常、Web サーバーとクライアントが同じイーサネット セグメント上にない限り、PHP を提供するホストは、ユーザーのブラウザーからクライアント IP アドレスのみを識別でき、関連する MAC アドレスは識別できません。これは、MAC がリンク ローカル アドレスであり、ルーターがリンク ローカル アドレスを持つパケットを転送しないためです。したがって、Web サーバーとクライアントの間に少なくとも 1 台のルーターがある場合、Web サーバーは最も近いルーターの MAC のみを認識します。

とはいえ、ActiveX経由でNICにブリッジするクライアント側JavaScriptを使用してIEでMACを検出することは可能です。こちらをご覧ください。Stack Overflow の投稿詳細についてはこちらをご覧ください。

あるいは、Java アプレットを他のブラウザで使用することもできます。その場合のセキュリティ レベルは Java Runtime Environment ポリシー ファイルで設定されるため、ユーザーがシステム情報へのアクセスを有効にした場合、アプレットが MAC を取得できる可能性があります。

TL;DR - ブラウザに OS にブリッジできるテクノロジ (ActiveX、Java アプレットなど) が有効になっていない限り、ブラウザはクライアントの MAC アドレスを検出できません。

関連情報