[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](/_nuxt/placeholder.B5B6l-zO.jpeg)
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...