Mac Address capturado via PHP MITO OU VERDADE?

24/10/2012

Boa noite;

tenho visto muito pela net algumas funções que prometem pegar o endereço mac do usuário via PHP sobretudo através de variáveis $mac.

Já vi também outras pessoas falarem nos fóruns que isso só é possivel através através de uma App Java, mas pelo que tive lendo a respeito de fazer com Java, é uma coisa bastante complexa, e nem sem por onde começar ´pra ser sincero a voçês rsrsrs.

Enfim, andei testando algumas funçõeszinhas PHP dessas no Wamp Server com envio de email por formulário afim de pegar o Mac da placa de rede do pc do usuário para fazer um controle de segurança em meu site, mas quando checo o emaail, não vem nada ao lado de Mac Address = cadê o Mac!!?

Em outras que testei, analisando o descrito no final da linha acima, chega é uma "codificação" de bug (no lugar que era pra aparecer o Mac). Detalhe: veio com o nome bug mesmo entre a codificação, indicando que houve de fato um bug.

Está foi uma das que usei

#Código

<?php
/*
* Getting MAC Address using PHP
* Md. Nazmul Basher
*/

ob_start(); // Turn on output buffering
system(‘ipconfig /all’); //Execute external program to display output
$mycom=ob_get_contents(); // Capture the output into a variable
ob_clean(); // Clean (erase) the output buffer

$findme = “Physical”;
$pmac = strpos($mycom, $findme); // Find the position of Physical text
$mac=substr($mycom,($pmac+36),17); // Get Physical Address

echo $mac;
?>

Cheguei a pensar até que este problema seja porque eu to testando o envio de emais através de um Localhost (WampServer), e quando eu subir o site isso deixará de acontecer (se é que realmente essas funções funcionam).


Faz sentido isso que estou imaginando? o que vocês acham pessoal?

Forte abraço! e muito obrigado pela ajuda.

PHP

Eduardo

Melhor resposta

27/10/2012

PHP roda no servidor, ipconfig /all, retorna as informações do servidor php e se for windows...

Marcos Guedes

Responder Citar

Outras Respostas

25/10/2012

Eduardo Oliveira

Mas qual a necessidade de se obter informação de tão baixo nível(informação de hardware)com o intuito de controlar a segurança???
Acredito que dependendo do contexto deve haver uma forma mais simplificada pra resolver isso.
Responder Citar

27/10/2012

Eduardo

PHP roda no servidor, ipconfig /all, retorna as informações do servidor php e se for windows...



Então não tem como pegar o mac via formulário de contato num é? teria alguma solução que desse certo?

obrigado valeu!!
Responder Citar

27/10/2012

Eduardo

PHP roda no servidor, ipconfig /all, retorna as informações do servidor php e se for windows...



Então não tem como pegar o mac via formulário de contato num é? teria alguma solução que desse certo?

obrigado valeu!!
Responder Citar

28/10/2012

Eduardo Oliveira

Da uma olhada nesse comando, veja se pode ajudar

http://php.net/manual/pt_BR/function.shell-exec.php
Responder Citar

31/10/2013

Luan Monteiro

Olha a Função que criei funciona apenas em intranet até onde eu testei

//Verifica o Proxy e retorna o ip real
function getRealIPAddress(){

if(!empty($_SERVER['HTTP_CLIENT_IP'])){
//check ip from share internet
$ip = $_SERVER['HTTP_CLIENT_IP'];
}else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
//to check ip is pass from proxy
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;

}

//retorna nome da máquina remota pelo IP
function NomeMaquinaRem(){

$Nome = gethostbyaddr(getRealIPAddress());
return $Nome;

}

//Mac da Máquina remota conectada
function MacAdressByWindows(){

$ipAddress = getRealIPAddress();

#run the external command, break output into lines
exec("arp -a $ipAddress", $output);
$IpMac = explode(" ", trim($output[3]));
return $IpMac[11];

}
Responder Citar

01/11/2013

Roniere Almeida

desconhecia essa funcionalidade no php. legal.
Responder Citar

01/11/2013

Marcio Araujo

interessante isso.
Responder Citar

16/08/2016

Fernando Alves

Tenho um sistema que é acessado por Celular e entre outras plataformas de sistemas operacionais, essa função também é valida ?
Responder Citar