2016-10-21 4 views
-2

Ich habe eine Seite, die nur für bestimmte IP-Adressen zugänglich ist.Was ist meine IP beim Besuch von localhost

Code:

// IP's that are allowed. 
$allow = array("123.456.7.89", "987.654.3.21"); //allowed IPs 

if(!in_array($_SERVER['REMOTE_ADDR'], $allow) && !in_array($_SERVER["HTTP_X_FORWARDED_FOR"], $allow)) { 

header("Location: http://www.google.com"); //redirect 

exit(); 

} 

Aber wenn ich mein localhost besuchen, kann ich es nicht besuchen, weil es meine ip sagt, ist 0.0.0.0

Was als erlaubt ip zu füllen?

+1

Ihre beiden erlaubten IPs können nicht existieren. – jmattheis

+0

@jmattheis dies ist nur ein Beispiel für 2 IPs. – Julian

+0

Noch kann jeder Block nur 8 Bits (0-255) nehmen, da Sie 456 und 987 darin haben, ist es keine gültige IP. – jmattheis

Antwort

0

Versuchen Sie localhost Besuch auf einem anderen Gerät, und das IP verwenden.

+0

Ich mache das gerade jetzt! Vielen Dank. – Julian

+0

Kein Problem, es ist einfach kein "guter" Weg. @Mike – Julian

0

Überprüfen Sie, ob Sie eine gültige IP-Adresse erhalten.

Try this:

$ip = !empty($_SERVER['HTTP_CLIENT_IP']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']; 

var_dump($ip); // Check if IP is valid 

$allow = array("123.456.7.89", "987.654.3.21"); //allowed IPs 

if (!in_array($ip, $allow)) { 
    header("Location: http://www.google.com"); //redirect 
    exit(); 
} 

Referenz: How to get the client IP address in PHP?

+0

Was muss ich als erlaubte IP eingeben, wenn ich auf localhost besuche? Denn wenn ich es auf meinem Handy besuche, bekomme ich eine gültige IP, und es funktioniert, wenn ich das in die erlaubten IPs lege. Aber ich bekomme 0.0.0.0 für meinen PC, was nicht funktioniert. – Julian

Verwandte Themen