[PHP] User IP trotz Proxy

14. April 2014

Um das gleich mal klar zu stellen, wir reden von Proxy, keiner VPN, denn diese bekommt man mit PHP so nicht heraus. Viele Proxy’s sind schlecht konfiguriert oder geben die originale IP trotzdem mit. PHP bekommt eine IP ganze 3x mitgeteilt. Wusste ich selbst nicht. Das sind diese 3 Variablen:$_SERVER[‘HTTP_CLIENT_IP’];, $_SERVER[‘HTTP_X_FORWARDED_FOR’]; und $_SERVER[‘REMOTE_ADDR’]; Es gibt […]

[PHP] User IP trotz Proxy
Um das gleich mal klar zu stellen, wir reden von Proxy, keiner VPN, denn diese bekommt man mit PHP so nicht heraus. Viele Proxy's sind schlecht konfiguriert oder geben die originale IP trotzdem mit. PHP bekommt eine IP ganze 3x mitgeteilt. Wusste ich selbst nicht. Das sind diese 3 Variablen:$SERVER['HTTPCLIENT_IP'];, $SERVER['HTTPX_FORWARDED_FOR']; und $SERVER['REMOTEADDR']; Es gibt eine tolle Funktion dafür. [php] <?php function getUserIP() { $client = @$SERVER['HTTPCLIENT_IP']; $forward = @$SERVER['HTTPX_FORWARDED_FOR']; $remote = $SERVER['REMOTEADDR']; if(filter_var($client, FILTER_VALIDATE_IP)){ $ip = $client; }elseif(filter_var($forward, FILTER_VALIDATE_IP)){ $ip = $forward; }else{ $ip = $remote; } return $ip; } $user_ip = getUserIP(); echo $user_ip; // Output IP address ?> [/php] Die Funktion ist sehr geeignet um bei IP Sperren entgegen zu wirken.

Kommentare

Kommentare werden geladen...

Weitere Beiträge