
Me he topado con las afirmaciones de un usuario de un juego en línea de que, según su conversación con uno de los moderadores, el motor del juego permite identificar inmediatamente el caso, cuando el usuario está jugando con varias cuentas, cuando se crearon en el misma computadora. Entendió que tiene que ver más con la tarjeta de red que con la computadora, así que rápidamente identifiqué que la única posibilidad sería leer la dirección MAC (el usuario puede usar múltiples navegadores, puede reinstalar el sistema y esa seguridad es trabajar de todos modos).
Me sentí muy intrigado por esa afirmación. ¿Es posible que un juego de navegador (escrito en PHP) acceda y lea mi dirección MAC? ActiveX no es el caso, ya que sólo una parte limitada de los jugadores utilizan IE. No conozco ningún mecanismo estándar que lo permita, pero no soy un experto...
La capacidad de leer la dirección MAC sería un gran peligro para la privacidad, por lo que esto es muy preocupante...
Respuesta1
Normalmente, a menos que el servidor web y el cliente estén en el mismo segmento de Ethernet, el host que sirve PHP solo podrá discernir la dirección IP del cliente desde el navegador del usuario, no la dirección MAC afiliada. Esto se debe a que la MAC es una dirección de enlace local y los enrutadores no reenvían paquetes con direcciones de enlace local. Por lo tanto, si hay al menos un enrutador entre el servidor web y el cliente, el servidor web solo verá la MAC del enrutador más cercano a él.
Dicho esto, es posible detectar la MAC en IE utilizando JavaScript del lado del cliente que conecta con la NIC a través de ActiveX. Mira estoPublicación de desbordamiento de pilapara mas detalles.
Como alternativa, se puede utilizar un subprograma de Java en otros navegadores. El nivel de seguridad para esto se establece en el archivo de política de Java Runtime Environment, por lo que si el usuario habilitó el acceso a la información del sistema, entonces el subprograma podría obtener la MAC.
TL;DR: a menos que el navegador tenga una tecnología habilitada que pueda conectarse al sistema operativo (por ejemplo, ActiveX, subprograma Java, etc.), no es posible que el navegador detecte la dirección MAC del cliente.