PHP - 如果IPv4 IP在IP范围内,如何匹配?

时间:2018-05-22 10:46:32

标签: php zend-framework ip firewall ipv4

我有几个垃圾邮件发送者访问我的网站: 4.53.111.76或4.53.111.1或4.53.1.76

现在我如何与我的私人防火墙匹配,我想阻止从4.53.0.0到4.53.255.255的任何IP范围?

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 :(得分:0)

如果你想在PHP结束时阻止,已经有answer从开始和结束IP获得IP范围

您可以将这些IP范围存储在数据库或PHP数组中。

当用户踢完网站时,您会获得用户IP(如您所知)并使用存储的IP范围检查用户的IP。

如果IP与列出的黑色匹配,则可以阻止该用户的内容