BRG 2 Denunciar post Postado Julho 30, 2009 Estava fazendo um sistema de autenticação de usuário via PHP, e me surgiu a idéia de pegar o endereço MAC da máquina para aumentar ainda mais o nível de segurança. Bom, meu server é linux, procurei na net vários scripts para o mesmo e não encontrei. Em alguns posts encontrei até gente falando que era impossível. Depois de muito tempo tentando .. saiu :) Para complementar, coloquei 2 endereços de MACs em um array e no fim uma comparação. Se o MAC no array for igual ao seu retorna TRUE, se não FALSO. Espero que gostem. // LIMPA VARIAVEL IP $ip = ""; // SE EXISTIR PEGA O IP DA REDE, SE NAO PEGA O IP REMOTO $ip = ($_SERVER["HTTP_X_FORWARDED_FOR"] != '') ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER['REMOTE_ADDR']; // MANDA UM PACOTE DE INFORMACAO $ping = shell_exec("ping -c1 ".$ip.""); // ELE PROCURA SE NA LISTA DO ARP TEM ESSE IP E CAPTURA TODAS AS INFORMACOES $output = shell_exec("arp -n ".$ip.""); // SEPARA A STRING DE SAIDA POR ESPACO EM BRANCO $mac = preg_split("/\s+/",$output); // MACS CADASTRADOS EM UM ARRAY $macs = array( "nome-1" => "00:00:00:00:00:1A", "nome-2" => "00:00:00:00:00:1B" ); //COMPARA OS MACS DA PLACA COM O DO ARRAY echo ($macs["nome-1"] == $mac[8]) ? "MAC TRUE" : "MAC FALSO"; , Compartilhar este post Link para o post Compartilhar em outros sites
Will Fernando 2 Denunciar post Postado Julho 30, 2009 nao testei .. mas funciona ? se funciona dependendo do modo que trabalha algums provedores de internet isso poderia ser um problema. valww Compartilhar este post Link para o post Compartilhar em outros sites
BRG 2 Denunciar post Postado Julho 31, 2009 Funciona sim! , Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Agosto 17, 2009 eh, no meu caso o host desabilita algumas funcoes como shec_exec... Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Agosto 17, 2009 ARP stands for Address Resolution Protocol, which is used to find the media access control address of a network neighbour for a given IPv4 Address. Retirado do manual do comando arp.Preciso dizer mais algo?Pra quem não entendeu,só funciona para computadores na mesma rede.De resto,impossivel. Entenda o que usa meu caro... E putz...que código cara...-.- Compartilhar este post Link para o post Compartilhar em outros sites
BRG 2 Denunciar post Postado Agosto 17, 2009 ARP stands for Address Resolution Protocol, which is used to find the media access control address of a network neighbour for a given IPv4 Address. Retirado do manual do comando arp.Preciso dizer mais algo?Pra quem não entendeu,só funciona para computadores na mesma rede.De resto,impossivel. Entenda o que usa meu caro... E putz...que código cara...-.- Teria um melhor??? Pois se tiver posta ai para a galera, e não critica os outros. , Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Agosto 17, 2009 Não culpe o mensageiro. ;] Sem mais... Compartilhar este post Link para o post Compartilhar em outros sites
cleberlr 0 Denunciar post Postado Agosto 29, 2009 Pinguim, o que você quer é impossível. ARP só funciona para computadores que estão ligados diretamente ao servidor, na intranet. A única forma possível de detectar o MAC seria através de uma máquina java no cliente (http://www.paulovittor23.org/?p=28) ou ActiveX (http://www.qualitycodes.com/tutorial.php?articleid=19) no IE. Para outros navegadores nem com javascript é possível. Teria um melhor??? Pois se tiver posta ai para a galera, e não critica os outros. , Compartilhar este post Link para o post Compartilhar em outros sites
Soaress 0 Denunciar post Postado Março 17, 2010 Valeu pelo script vai nos ajudar bastante pata amarrar Login+senha+ip+mac em nossos servidores de internet (VPN). Compartilhar este post Link para o post Compartilhar em outros sites