
Fui confrontado com afirmações de um utilizador de jogo online, de que, de acordo com a sua conversa com um dos moderadores, o motor do jogo permite identificar imediatamente o caso, quando o utilizador está a jogar com múltiplas contas, quando estas foram criadas no mesmo computador. Ele entendeu que tem a ver mais com placa de rede do que com computador, então rapidamente identifiquei que a única possibilidade seria ler o endereço MAC (o usuário pode usar vários navegadores, pode reinstalar o sistema, e que a segurança é para trabalhar de qualquer maneira).
Fiquei muito intrigado com essa afirmação. É possível que um jogo de navegador (escrito em PHP) acesse e leia meu endereço MAC? ActiveX não é o caso, já que apenas uma parte limitada dos jogadores usa o IE. Não conheço nenhum mecanismo padrão que permita isso, mas não sou especialista...
A capacidade de ler o endereço MAC seria o grande perigo para a privacidade, então isso é muito perturbador...
Responder1
Normalmente, a menos que o servidor web e o cliente estejam no mesmo segmento Ethernet, o host que atende o PHP só será capaz de discernir o endereço IP do cliente no navegador do usuário, e não no endereço MAC afiliado. Isso ocorre porque o MAC é um endereço link-local e os roteadores não encaminham pacotes com endereços link-local. Portanto, se houver pelo menos um roteador entre o servidor web e o cliente, o servidor web verá apenas o MAC do roteador mais próximo dele.
Dito isto, é possível detectar o MAC no IE usando JavaScript do lado do cliente que faz a ponte para a NIC via ActiveX. Veja issoPostagem Stack Overflowpara mais detalhes.
Alternativamente, um applet Java pode ser usado em outros navegadores. O nível de segurança para isso é definido no arquivo de políticas do Java Runtime Environment, portanto, se o usuário ativar o acesso às informações do sistema, o miniaplicativo poderá obter o MAC.
DR - a menos que o navegador tenha uma tecnologia habilitada que possa fazer a ponte com o sistema operacional (por exemplo, ActiveX, miniaplicativo Java, etc.), não será possível para o navegador detectar o endereço MAC do cliente.