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