Foros del Web » Programando para Internet » PHP »

validar que una este dentro de un rango

Estas en el tema de validar que una este dentro de un rango en el foro de PHP en Foros del Web. Hola amigos tengo en una tabla de mysql ip inicio y ipfinal ipinicio=192.168.0.10 ipfinal=192.168.0.50 digamos que el usuario tiene la ip 192.168.0.15 como puedo checar ...
  #1 (permalink)  
Antiguo 23/09/2005, 09:53
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta validar que una este dentro de un rango

Hola amigos tengo en una tabla de mysql ip inicio y ipfinal
ipinicio=192.168.0.10
ipfinal=192.168.0.50

digamos que el usuario tiene la ip 192.168.0.15

como puedo checar que esa ip esta dentro del rango de la ipinicio y la ipfinal
sera con solo condiciones o algun otro metodo.

gracias , espero sus comentarios
saludos
__________________
gerardo
  #2 (permalink)  
Antiguo 23/09/2005, 10:07
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Creo que es la unica forma, dada la estructura de tabla que usas.
  #3 (permalink)  
Antiguo 23/09/2005, 10:11
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Me imagino que podrías separar cada grupo (con explode(".",$ip);) y allí comparar la oscilación de los rangos...
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 23/09/2005, 11:20
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta Hola amigos gracias por responder

Hola amigos antes que nada gracias por responder
encontre esto pero no entiendo una partes podrias
decirme si esto realmente funciona

http://www.eslomas.com/index.php/arc...ro-entero-php/

Pertenencia a rango CIDR
Si queremos comprobar si una determinada dirección pertenece a un rango de direcciones como “192.168.0.0/24″, podríamos utilizar la siguiente función, que dada una dirección IP y el rango CIDR, nos devuelve true si la dirección pertenece al rango.

<?php
function matchCIDR($addr, $cidr) {
// $addr should be an ip address in the format '0.0.0.0'
// $cidr should be a string in the format '100/8'
list($ip, $mask) = explode('/', $cidr);
$mask = 0xffffffff << (32 - $mask);
$output = ((ip2long($addr) & $mask) == (ip2long($ip) & $mask));
return $output;
}
?>
__________________
gerardo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:03.