Validar máscara e IP inicial da rede com PHP

Publicado por Anderson J. de Souza em 22/09/2008

[ Hits: 10.980 ]

Blog: http://anderjs.blogspot.com/

 


Validar máscara e IP inicial da rede com PHP



Três funções em PHP simples que verificam se o IP passado é um IP de início da rede ou não. Particularmente eu aconselho criar uma classe para trabalhar com isto!

function fill0($x){
   return str_pad($x,8,'0',STR_PAD_LEFT);
}
function ip2bin($x){
   preg_match_all("/[0-9]{1,3}/","$x",$a);
   $b=array_map("decbin",$a[0]);
   $c=array_map("fill0",$b);
   return ("$c[0]$c[1]$c[2]$c[3]");
}
function checkNet($ip,$mask){
   $b=ip2bin($mask);
   if (!preg_match("/^1*0*$/",$b)) return "Máscara inválida";
   $a=ip2bin($ip);
   if (($a | $b) !== $b) return "Ip de rede inválido";
}

// Executando //
$x=checkNet($a="128.0.0.0",$b="128.0.1.0");
echo ($x?$x:"Rede Válida")."\n";

A função checkNet retorna string de erro ou nada para tudo válido.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Monitorando portas de hosts com PHP e MySQL

Erro 404 - Servidor HTTPD (Apache-2) no Fedora 23 [Resolvido]

Usando um script PHP como inclusão do lado servidor

Exportando lista de MSN

Envio de SMS pelo PHP

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts