true, '1' => true, '2' => true, '3' => true, '4' => true, '5' => true, '6' => true, '7' => true, '8' => true, '9' => true ); $size = strlen($ip); $j=0; for ($i=0;$i<$size;$i++) { if (@$allowed[$ip[$i]]) { $ipblocks[$j] .= $ip[$i]; } elseif($ip[$i] == '.') { $j++; } else { return null; } } if ( count(@$ipblocks) == 4 && strlen(@$ipblocks['0']) >= 1 && strlen(@$ipblocks['1']) >= 1 && strlen(@$ipblocks['2']) >= 1 && strlen(@$ipblocks['3']) >= 1 && ($ipblocks['0']['0'] != '0' || (strlen($ipblocks['0']) == 1 && $ipblocks['0']['0'] == '0')) && ($ipblocks['1']['0'] != '0' || (strlen($ipblocks['1']) == 1 && $ipblocks['1']['0'] == '0')) && ($ipblocks['2']['0'] != '0' || (strlen($ipblocks['2']) == 1 && $ipblocks['2']['0'] == '0')) && ($ipblocks['3']['0'] != '0' || (strlen($ipblocks['3']) == 1 && $ipblocks['3']['0'] == '0')) && strlen(@$ipblocks['0']) <= 3 && strlen(@$ipblocks['1']) <= 3 && strlen(@$ipblocks['2']) <= 3 && strlen(@$ipblocks['3']) <= 3 && $ipblocks['0'] >= 0 && $ipblocks['1'] >= 0 && $ipblocks['2'] >= 0 && $ipblocks['3'] >= 0 && $ipblocks['0'] <= 255 && $ipblocks['1'] <= 255 && $ipblocks['2'] <= 255 && $ipblocks['3'] <= 255 ) { $idblocks[] = str_pad(base_convert($ipblocks['0'], 10, 16), 2, '0', STR_PAD_LEFT); $idblocks[] = str_pad(base_convert($ipblocks['1'], 10, 16), 2, '0', STR_PAD_LEFT); $idblocks[] = str_pad(base_convert($ipblocks['2'], 10, 16), 2, '0', STR_PAD_LEFT); $idblocks[] = str_pad(base_convert($ipblocks['3'], 10, 16), 2, '0', STR_PAD_LEFT); $id = $idblocks[0].$idblocks[1].$idblocks[2].$idblocks[3]; return $id; } } # Ver 0.0.4$ ?>