2016-08-14 2 views
0

Ich versuche, eine PHP-Funktion, die Dateien abhängig von Client-IP liest. Bisher bekam ich:PHP if (...) readfile; else readfile gibt sowohl

function getips() { 

$bannedips = array('127.0.0.1','192.168.101.222'); 
$ip = $_SERVER['REMOTE_ADDR']; 
if(strpos($ip,$bannedips)){ readfile("notallwed.html"); 
} else { 
    readfile("good.html"); 
} 
} 

Aber irgendwie, auch wenn die IP-Sperre, zeigt es die notAllowed Seite, und die gute Seite nach (unter) es. Wenn die IP nicht gesperrt ist, wird nur die gute Seite angezeigt.

Was mache ich hier falsch? Wie kann ich das Skript nach dem Lesen der gesperrten IP stoppen, um die gute Seite nicht anzuzeigen, wenn die IP gesperrt ist. Danke. wenn der Besucher

+1

ist denke ich, die Sie verwenden möchten 'in_array' statt' strpos'. Verwenden Sie auch 'exit;' nach dem Lesen. –

+0

'if (in_array ($ ip, $ bannedips))' – 0x13a

+0

Vielen Dank! Ausfahrt; hat die Arbeit gemacht! – unkn0wnx

Antwort

2

sollten Sie in_array Funktion verwenden, um zu überprüfen ip eine verbotene ip

function getips() { 
    $bannedips = array('127.0.0.1','192.168.101.222'); 
    $ip = $_SERVER['REMOTE_ADDR']; 

    if (in_array($ip,$bannedips)) { 
     readfile("notallwed.html"); 
    } else { 
     readfile("good.html"); 
    } 
} 
+0

Vielen Dank für Ihre Antwort, aber verlassen Sie; hat die Arbeit für mich gemacht. – unkn0wnx

Verwandte Themen