Validar máscara e IP inicial da rede com PHP

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

[ Hits: 10.988 ]

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

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

Servidor Apache 2 no Ubuntu 14.04 - Erro 404 [Resolvido]

Liberando acesso ao Moodle para a rede externa

Executar um script remotamente via ssh

Se o LAMP (Linux, Apache, MySQL e PHP) não funcionar no Debian

  

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