2016-10-21 8 views
0

Ich verwende diesen Code und meine Frage ist: wie diese auf einer bestimmten IP zu umgehen:Bypass auf bestimmte IP-

// Maintenance 
$maintenance = 0;if($maintenance): // 0 = no maintenance, 1 = maintenance 
require_once($_SERVER["DOCUMENT_ROOT"] . "/maintenance.php"); 
exit(); 
endif; 

Dank

+2

Nun, durch Hinzufügen einer Bedingung, die Tests, ob die Anfrage von dieser spezifischen IP offensichtlich kommt. Schauen Sie sich an, was in '$ _SERVER' enthalten ist ... – arkascha

+0

' $ _SERVER ['SERVER_ADDR'] 'ist was Sie suchen – prehfeldt

Antwort

0

Sie REMOTE_ADDR des $_SERVER environment variable verwenden können, dies zu erreichen.

if ($_SERVER['REMOTE_ADDR'] != "xxx.xxx.xxx.xxx" && $maintenance) 
{ 
    //Display Maintenance Page 
    die(include('maintenance.php')); 
} 

    //Normal stuff 

Wenn jedoch der Benutzer hinter einem Proxy ist, oder wenn es eine WAF zwischen Ihnen und dem Apache/ngix/etc-Server, können Sie verwenden müssen die stattdessen ‚HTTP_X_FORWARDED_FOR‘ Variable, das heißt, wenn die Proxy/WAF wendet diesen Header an.