Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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";
,Funciona sim!
,
eh, no meu caso o host desabilita algumas funcoes como shec_exec...
>
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...-.-
>
>
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.
,
Não culpe o mensageiro.
;]
Sem mais...
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.
,
Valeu pelo script
vai nos ajudar bastante pata amarrar Login+senha+ip+mac em nossos servidores de internet (VPN).
nao testei .. mas funciona ? se funciona dependendo do modo que trabalha algums provedores de internet isso poderia ser um problema.
valww