Mailinglisten-Archive |
Da es noch viele gibt, die meinen, das über eine Session oder ein Cookie
zu lösen, folgendes:
Eine Session, wie auch das Cookie (mit Ausnahme der Lifetime) sind
temporär und nicht Computerabhängig.
Das heißt, Daten die ich eine Session, bzw. Cookie, schreibe, muss ich
vorher wissen.
Ich möchte aber einen Art Authentication über IP/Mac haben, da man somit
z.B. eine Liste (DB, XML, ...) anlegen kann, um User die diese IP/Mac
haben, Zugriff auf bestimmte Inhalte zu geben.
Dazu folgendes Script:
<Code>
function GetMACAddress($strIP){
exec("{$_ENV["ComSpec"]} /c nbtstat -A $strIP",$output);
echo "<pre>".print_r($output,true)."</pre>";
$macaddress = false;
foreach($output as $s){
$data = strtoupper(trim($s));
if (strpos($data,"MAC ADDRESS")!==false){
$t = explode("=",$data);
$macaddress = trim($t[1]);
break;
}
}
return $macaddress;
}
$strIP = $_SERVER["REMOTE_ADDR"];
$strMac = GetMACAddress($strIP);
echo "Your IP is : $strIP<br/>\r\n";
echo "Your MAC is : $strMac\r\n";
</Code>
Das Script nutzt die Kommandozeile um etwas auszuführen, was leider
nicht so richt bei mir funktionieren will.
Lösungsweg:
Angenommen jemand aus einem Firmennetzwerk geht ins Internet um einen
Seite aufzurufen.
Dabei geht doch seine Anfrage meist über einen Router. Der Router
kappselt die Netzwerk-Rechner-IP mit seiner eigenen IP (Einwahl-IP) und
sendet dieses Paket an den Server. In diesem Paket stehen wie gesagt, IP
des Routers (bzw. Einwahl-IP) und die IP des lokalen Computers. Daher
müsste es doch möglich sein, dieses Paket zu entpacken, um die einzelnen
Bestandteile auszulesen.
php::bar PHP Wiki - Listenarchive