Как заблокировать сайт и оставить свободным только для некоторых 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
Author: allan araujo, 2016-10-10

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');
 4
Author: rray, 2016-10-10 18:58:04

Следуя его рассуждения :

$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');
 4
Author: MagicHat, 2016-10-10 18:55:23

Параметр, чтобы блокировать доступ будет через .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>
 3
Author: Kenny Rafael, 2016-10-10 19:05:24

, сценарий должен быть таким,

Первая часть ( функция проверки )

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-адресов , разделенных, внутри одинарных кавычек.

 2
Author: Jasar Orion, 2016-10-10 18:59:39