Как заблокировать сайт и оставить свободным только для некоторых ips? [дублировать]
Хотел бы знать, как я могу заблокировать мой сайт, который находится по техническому обслуживанию и оставить свободный доступ для двух ips, делаю таким образом , но он просто оставляет свободный!. Я желаю, чтобы свободно два только .
$ip = '10.11.30.175';
$ip ='10.11.30.182';
if ( $_SERVER['REMOTE_ADDR'] != $ip )
die('Site em manutenção, voltaremos em instantes');
4 answers
, Можно использовать функцию in_array()
, чтобы проверить, какие ips доступ к сайту.
$validos = array('10.11.30.175', '10.11.30.182');
if (! in_array($_SERVER['REMOTE_ADDR'], $validos)) die('Site em manutenção, voltaremos em instantes');
Следуя его рассуждения :
$ip1 = '10.11.30.175';
$ip2 ='10.11.30.182';
if ( $_SERVER['REMOTE_ADDR'] != $ip1 || $_SERVER['REMOTE_ADDR'] != $ip2 )
die('Site em manutenção, voltaremos em instantes');
Параметр, чтобы блокировать доступ будет через .htaccess
:
APACHE 2.4
<Limit GET POST>
Require all denied
Require ip 10.11.30.175
Require ip 10.11.30.182
</Limit>
APACHE 2.2
<Limit GET POST>
order deny,allow
deny from all
allow from 10.11.30.175
allow from 10.11.30.182
</Limit>
, сценарий должен быть таким,
Первая часть ( функция проверки )
function valida($ip){
$retorna=false;
$liberado=array('10.11.30.175','10.11.30.182');
for($i=0;$i<count($liberado);$i++){
if($ip==$liberado[$i]){ $retorna=true; }
}
return $retorna;
}
Этот код выше, можно включать во внешнее или в любом месте вашей странице php для использования просто сделать следующее
if (!valida($_SERVER['REMOTE_ADDR'])) die('Site em manutenção, voltaremos em instantes');
Если вы хотите добавить несколько ip-адресов достаточно просто включить в массив переменную выпустили несколько ip-адресов , разделенных, внутри одинарных кавычек.