Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/02/2010, 21:10
rtr
 
Fecha de Ingreso: abril-2009
Mensajes: 368
Antigüedad: 15 años
Puntos: 2
Respuesta: ¿como impedir que falcifiquen una encuesta?

Hola, encontré este código por ahí, yo ahora no puedo probarlo pero , al pareces sirve para extrael la Mac.

que opinan??

Código PHP:
<?
function returnMacAddress() {
// This code is under the GNU Public Licence
// Written by michael_stankiewicz {don't spam} at yahoo {no spam} dot com
// Tested only on linux, please report bugs

// WARNING: the commands 'which' and 'arp' should be executable
// by the apache user; on most linux boxes the default configuration
// should work fine

// Get the arp executable path
$location = `which arp`;
// Execute the arp command and store the output in $arpTable
$arpTable = `arp -a`;
// Split the output so every line is an entry of the $arpSplitted array
$arpSplitted split("\n",$arpTable);
// Get the remote ip address (the ip address of the client, the browser)
$remoteIp getenv('REMOTE_ADDR');
// Cicle the array to find the match with the remote ip address
foreach ($arpSplitted as $value) {
// Split every arp line, this is done in case the format of the arp
// command output is a bit different than expected
$valueSplitted split(" ",$value);
foreach (
$valueSplitted as $spLine) {
if (
preg_match("/$remoteIp/",$spLine)) {
$ipFound true;
}
// The ip address has been found, now rescan all the string
// to get the mac address
if ($ipFound) {
// Rescan all the string, in case the mac address, in the string
// returned by arp, comes before the ip address
// (you know, Murphy's laws)
reset($valueSplitted);
foreach (
$valueSplitted as $spLine) {
if (
preg_match("/[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f][:-]".
"[0-9a-f][0-9a-f]/i",$spLine)) {
return 
$spLine;
}
}
}
$ipFound false;
}
}
return 
false;
}
?>
http://www.php-hispano.net/foros/PHP...-mac-desde-php

Última edición por rtr; 12/02/2010 a las 21:26