Запретить диапазону IP-адресов доступ к php-странице

Информация, статьи, патчи, исходные коды и т.д.
Post Reply
sva
Администратор
Posts: 125
Joined: 01 May 2015, 19:56

Запретить диапазону IP-адресов доступ к php-странице

Post by sva »

Как запретить диапазону IP-адресов доступ к php-странице? Далее код. php-функцию проверки принадлежности ip к диапазону ip-адресов нашёл в интернете.
Если для php-скрипта указывается GET параметр, тогда меняем его в первом условии с "reg=true" на свой. Если параметры не надо учитывать, тогда удаляем это условие.

Code: Select all

function chk_ips($ip,$ip_start,$ip_end) {
      for ($i=0; $i<4; $i++) {
        if ($ip_start[$i]=='*' || $ip_end[$i]=='*') {
          continue;
        }
        elseif ($ip[$i]>=$ip_start[$i] && $ip[$i]<$ip_end[$i]) {
          break;
        }
        elseif ($ip[$i]==$ip_start[$i] || $ip[$i]==$ip_end[$i]) {
          continue;
        }
        else {
          return false;
        }
      }
      return true;
}

if (strpos($_SERVER['QUERY_STRING'], "reg=true"))
  if (!chk_ips($_SERVER['REMOTE_ADDR'], "1.1.1.1", "2.2.2.2"))
    if (!chk_ips($_SERVER['REMOTE_ADDR'], "3.3.3.3", "4.4.4.4"))
      if (!chk_ips($_SERVER['REMOTE_ADDR'], "5.5.5.5", "6.6.6.6"))
        if (!chk_ips($_SERVER['REMOTE_ADDR'], "7.7.7.7", "8.8.8.8")) {
          echo "<html>Доступ запрещен!</html>";
          break;
}
Post Reply