2012-03-28 16 views
12

Devo ottenere l'indirizzo Mac del PC del cliente su cui è in esecuzione il mio sito Web. Quindi, come ottenere l'indirizzo Mac della macchina del cliente (non all'indirizzo Mac del server in cui è ospitato il sito Web). Ho bisogno di script compatibile con IE, Firefox, Safari e Chrome.Come ottenere l'indirizzo Mac della macchina client in un'applicazione Web

+0

In primo luogo, perché si desidera l'indirizzo MAC? – Ramesh

+0

Ho uno scenario in cui alcuni utenti sono autorizzati da alcuni PC fissi (per i quali l'indirizzo MAC inserito dall'amministratore corrisponderà al sistema da cui l'utente tenta di accedere), lui/lei non sarà in grado di accedere da altro rispetto a quei PC. –

+0

ho provato a ottenere l'indirizzo mac con javascript. Ma è possibile solo con IE, non con altri browser. –

risposta

8

L'unico modo per ottenere ciò è utilizzando un'applet o un plug-in che potrebbe essere programmato ad esempio in Java (sebbene java stesso non lo consenta in base a Getting MAC address on a web page using a Java applet), poiché javascript non rivelerà questo tipo di informazioni. Infine, è possibile trovare queste informazioni anche dal lato server se si trova su una rete interna come spesso accade con le pagine di destinazione della rete wifi semi-private.

Sulla base dei commenti seguenti: Poiché si tratta di una rete interna, è possibile recuperare l'indirizzo mac come segue sul lato asp.net. Si esegue il seguente comando arp -a che restituirà un elenco di tutti gli indirizzi IP con indirizzi mac associati. Successivo usando qualcosa sulla falsariga di

Request.Servervariables("REMOTE_ADDR") 

si dovrebbe essere in grado di trovare l'indirizzo IP degli utenti che è possibile la prossima partita con i dati recuperati dal comando arp e voilà, hai il tuo indirizzo MAC per l'utente corrente .

+0

Ciao David, grazie per la risposta. Qualsiasi modo per ottenere l'indirizzo IP invece dell'indirizzo MAC nello stesso scenario. Dove la configurazione IP è DHCP (IP dinamico).? –

+0

Ho capito correttamente che si trova su una rete interna? (Perché ci sono alcune opzioni che hai) –

+0

sì è nella rete interna –

2

Suoni come questo è una rete interna.

Un altro metodo è che utilizzando l'indirizzo mac il server DHCP può assegnare determinati intervalli di ip. è quindi possibile verificare l'intervallo IP nel codice del server. Non c'è un modo per ottenere l'indirizzo mac in javascript, ma è possibile ottenere facilmente l'ip. Inoltre, forse il tuo server DHCP può pubblicare tabelle di indirizzo IP di indirizzo mac per il tuo server web da utilizzare tramite un'API o qualcosa del genere - non è sicuro su questo, ma potrebbe essere utile esaminarlo.

+0

grazie per aver risposto con una buona risposta. –

7

ho scenario in cui alcuni utenti sono autorizzati da parte di alcuni PC fisso (per i quale indirizzo MAC inserito da admin corrisponderà con il sistema da cui utente tenta di login) no, lui/lei sarà in grado di login da altri di quelli PC

Per ottenere quanto sopra nel modo giusto, è necessario affidarsi ai certificati client per eseguire l'autenticazione. Se non viene presentato un certificato client valido, la richiesta verrà respinta.

Potete trovare ulteriori informazioni sulla protezione di un sito web utilizzando certificati client @http://support.microsoft.com/kb/315588

Se gli utenti sono in rete interna, modo preferito per autenticarli sta utilizzando l'autenticazione integrata di Windows come descritto http://support.microsoft.com/kb/323176 e l'autorizzazione sarà basata su un elenco di controllo di accesso

+0

Ciao Ramesh .... Grazie per aver risposto con una buona risposta. Utilizzando la tecnica di cui sopra, devo installare il certificato client in ciascun PC da cui il client può accedere al sito Web, giusto? –

+0

Sì. È necessario installare i certificati client da cui è necessario accedere. Questo ti aiuterà anche se domani l'hardware della rete cambierà. Ma guarda l'autenticazione integrata se è una rete interna. – Ramesh

+0

Il certificato client è un'ottima idea per l'autenticazione interna, ma anche se il mio requisito è quello di ottenere maggiore sicurezza. come un particolare utente può accedere in particolare dal due al tre pc, non tutti i pc su cui è installato il certificato client. così come altri utenti che non sono in grado di accedere a quel pc che viene consumato dal primo utente e che hanno installato un certificato client. –

Problemi correlati