2012-03-28 29 views
12

Webサイトが稼働しているクライアントPCのMacアドレスを取得する必要があります。クライアントのマシンのMACアドレスを取得する方法(ウェブサイトがホストされているサーバーのMacアドレスではありません)。 IE、Firefox、Safari、Chromeと互換性のあるスクリプトが必要です。WebアプリケーションでClient MachineのMacアドレスを取得する方法

+0

最初にMACアドレスが必要ですか? – Ramesh

+0

私はいくつかの固定されたPCから許可されているシナリオを持っています(管理者によって入力されたMACアドレスは、ユーザがログインしようとしているシステムと一致します)、それら以外のPCからログインすることはできません。 –

+0

私はjavascriptでMACアドレスを取得しようとしました。しかし、それはIEだけではなく、他のブラウザで可能です。 –

答えて

8

これを達成する唯一の方法は、Javaでプログラミングできるようなアプレットまたはプラグインを使用することです(Java自体はGetting MAC address on a web page using a Java appletに従って許可していないかもしれませんが)。JavaScriptは当然この種の情報を開示しません。最後に、セミプライベートWi-Fiネットワークのランディングページでよく行われるように、内部ネットワーク上にある場合は、サーバー側からこの情報を見つけることもできます。

以下のコメントに基づいています。内部ネットワークであるため、asp.net側で次のようにmacアドレスを取得できます。次のコマンドarp -aを実行すると、関連するMACアドレスを持つすべてのIPアドレスのリストが返されます。

Request.Servervariables("REMOTE_ADDR") 

の線に沿って何かを使用して次のあなたはあなたの隣には、arpコマンドと出来上がりから取得したデータと一致させることができ、あなたは、現在のユーザーのためのあなたのMACアドレスを持つユーザーのIPアドレスを見つけることができるはずです。

+0

こんにちはデビッド、返信いただきありがとうございます。同じシナリオでMACアドレスの代わりにIPアドレスを取得する方法。 IP設定がDHCP(Dynamic IP)の場合 –

+0

これは内部ネットワーク上にあることを正しく理解していますか? (あなたが持っているいくつかのオプションよりも) –

+0

はいそれは内部ネットワークにあります –

2

このようなサウンドは内部ネットワークです。

もう1つの方法は、MACアドレスを使用することによってDHCPサーバが特定のIP範囲を割り当てることができるということです。サーバーコードでそのIP範囲を確認できます。 javascriptでMACアドレスを取得する方法はありませんが、簡単にipを取得できます。また、おそらくあなたのdhcpサーバーは、apiなどを介して使用するWebサーバーのMACアドレスのIPアドレステーブルを公開することができます - それは確かではないが、検討する価値があるかもしれません。

+0

良い答えで返信してくれてありがとう。 –

7

私がログインし、彼/彼女は意志ができません(管理者によって入力されたMACアドレスは ユーザーがログインしようとどこからシステムと一致します のために)一部のユーザーは、いくつかの固定PCから許可されているシナリオを持っています他より これらのPCより

上記の方法を正しく実行するには、クライアント証明書を使用して認証を行う必要があります。有効なクライアント証明書が提示されない場合、要求は拒否されます。

ユーザーが内部ネットワークにある場合はあなたがhttp://support.microsoft.com/kb/323176を説明し、認証がベースとなるようにそれらを認証するための好ましい方法は、統合Windows認証を使用している、http://support.microsoft.com/kb/315588

@クライアント証明書を使用してWebサイトを保護する上でより多くの情報を見つけることができますaアクセス制御リスト

+0

こんにちはRamesh ....良い答えで返信いただきありがとうございます。上記の手法を使用することで、クライアントがWebサイトにアクセスできる場所から各PCにクライアント証明書をインストールする必要があります。 –

+0

はい。アクセスする必要があるクライアント証明書をインストールする必要があります。明日はネットワークハードウェアが変わっても、これはあなたを助けます。しかし、内部ネットワークの場合は統合認証を見てください。 – Ramesh

+0

クライアント証明書は内部認証のための非常に良いアイデアですが、私の要件がより多くのセキュリティを達成することであっても。特定の1人のユーザーがクライアント証明書がインストールされているすべてのPCではなく、特定の2〜3台のPCにアクセスできます。そのPCにログインできず、最初のユーザーによって消費され、クライアント証明書がインストールされていない他のユーザーも含まれます。 –

関連する問題