2012-03-28 18 views
12

Tengo que obtener la dirección MAC de la PC del cliente donde se está ejecutando mi sitio web. Entonces, ¿cómo obtener la dirección MAC de la máquina del cliente (no de la dirección MAC del servidor donde se aloja el sitio web)? Necesito un script que sea compatible con IE, Firefox, Safari y Chrome.Cómo obtener la dirección Mac de Client Machine en una aplicación web

+0

En primer lugar, ¿por qué quiere la dirección MAC? – Ramesh

+0

Tengo un escenario en el que se permite a algunos usuarios desde una PC fija (para la cual la dirección MAC ingresada por el administrador coincidirá con el sistema desde el que el usuario intenta iniciar sesión), no podrá iniciar sesión desde otra PC. –

+0

intenté obtener la dirección MAC con javascript. Pero es posible solo con IE, no con otro navegador. –

Respuesta

8

La única manera de lograr esto es mediante el uso de un applet o complemento que podría programarse en java (aunque java podría no admitirlo de acuerdo con Getting MAC address on a web page using a Java applet), ya que javascript naturalmente no revelará este tipo de información. Por último, también puede encontrar esta información desde el lado del servidor si está en una red interna, como suele hacerse con las páginas de aterrizaje semiprivadas de la red wifi.

Según los comentarios siguientes: Como es una red interna, puede recuperar la dirección MAC de la siguiente manera en el lado asp.net. Ejecuta el siguiente comando arp -a que le devolverá una lista de todas las direcciones IP con las direcciones mac asociadas. A continuación usando algo en la línea de

Request.Servervariables("REMOTE_ADDR") 

usted debería ser capaz de encontrar las direcciones IP de los usuarios que se puede Próximo partido con los datos que recupera desde el comando arp y listo, usted tiene su dirección MAC para el usuario actual .

+0

Hola David, gracias por responder. Cualquier forma de obtener la dirección IP en lugar de la dirección MAC en el mismo escenario. Donde la configuración de IP es DHCP (IP dinámica). –

+0

¿Entiendo correctamente que esto se encuentra en una red interna? (Debido a que hay algunas opciones que tiene) –

+0

sí, está en la red interna –

2

Parece que esta es una red interna.

Otro método es que al usar la dirección MAC, el servidor dhcp puede asignar rangos de IP particulares. entonces puede verificar ese rango de IP en su código de servidor. No hay forma de obtener la dirección MAC en javascript, pero puede obtenerla fácilmente. Además, quizás su servidor dhcp pueda publicar tablas de dirección IP de dirección MAC para que su servidor web las use a través de una API o algo, no estoy seguro de eso pero puede valer la pena investigarlo.

+0

gracias por responder con una buena respuesta. –

7

Tengo escenario en el que algunos usuarios se les permite de alguna PC fijo (por qué dirección MAC introducida por admin coincidirá con el sistema desde donde usuario intenta iniciar sesión) no es así, él/ella será capaz de iniciar sesión desde otro que aquellos PC

Para lograr lo anterior de la manera correcta, debe confiar en los certificados de Cliente para realizar la autenticación. Si no se presenta un certificado de cliente válido, la solicitud será denegada.

Puede encontrar más información sobre la seguridad de un sitio web utilizando certificados de cliente @http://support.microsoft.com/kb/315588

Si los usuarios están en la red interna, forma preferida para autenticar los está utilizando la autenticación integrada de Windows como se describe http://support.microsoft.com/kb/323176 y autorización se basará en a Lista de control de acceso

+0

Hola Ramesh ... Gracias por responder con una buena respuesta. Al utilizar la técnica anterior, tengo que instalar el certificado del cliente en cada PC desde donde el cliente puede acceder al sitio web, ¿verdad? –

+0

Sí. Necesita instalar los certificados del cliente a los que necesita acceder. Esto lo ayudará incluso si mañana cambia el hardware de la red. Pero mira la autenticación integrada si es una red interna. – Ramesh

+0

Certificado de cliente es una muy buena idea para la autenticación interna, pero incluso si mi requisito es lograr más seguridad. al igual que un usuario en particular, puede acceder a dos o tres pc en particular, no a todas las PC donde está instalado el certificado del cliente. así como otros usuarios que no pueden iniciar sesión en esa PC que consume el primer usuario y tiene instalado un certificado de cliente. –

Cuestiones relacionadas