PHP - как соответствовать, если IPv4 IP находится в диапазоне IP-адресов? - PullRequest
0 голосов
/ 22 мая 2018

У меня есть несколько спаммеров, посещающих мой сайт: 4.53.111.76 или 4.53.111.1 или 4.53.1.76

Теперь, как мне сопоставить мой частный брандмауэр, где я хочу заблокировать любой диапазон IP от 4.53.0.0?до 4.53.255.255?

function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   //check ip from share internet
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))   //to check ip is pass from proxy
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
$ip  = getRealIpAddr();
$abuse_report = urlencode("https://www.abuseat.org/lookup.cgi?ip={$ip}");

1 Ответ

0 голосов
/ 22 мая 2018

Если вы хотите заблокировать в конце PHP, уже существует ответ для получения диапазонов IP-адресов от начального и конечного IP-адресов

Вы можете сохранить эти диапазоны IP-адресов в базе данных или массиве PHP.

когда пользователь пинает веб-сайт, вы получаете IP-адрес пользователя (как вы уже сделали) и проверяете IP-адрес пользователя с сохраненными диапазонами IP-адресов.

Если IP-адрес совпадает с черным в списке, то выможет заблокировать контент для этого пользователя

...