GoogleやBingのBotに対してログを残さないようにしていますが、PHPでIP範囲を特定し無効化する必要があったため、functionをつくってみました

//IP範囲チェック
function chkIpRange($accept){

  $remoteIp   = $_SERVER['REMOTE_ADDR'];

  list($acceptIp, $mask) = explode('/', $accept);
  $acceptLong = ip2long($acceptIp) >> (32 - $mask);
  $remoteLong = ip2long($remoteIp) >> (32 - $mask);
  if ($acceptLong == $remoteLong) {
    return 1;
  } else {
    return 0;
  }
}


$rec	= 0;

//Botチェック(以下はGoogleなどのIP群)
if( chkIpRange('66.249.64.0/19') ) $rec	= 1;
if( chkIpRange('66.249.92.0/24') ) $rec	= 1;
if( chkIpRange('72.14.192.0/18') ) $rec	= 1;
if( chkIpRange('74.125.0.0/16') ) $rec	= 1;

//処理飛ばす
if($rec == 1) return;

アクセスしてきたIPアドレスが、サブネットマスクを含んだ指定のIPアドレスに該当するものかどうか、これで判断して処理を分けることができまいした。