Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Validación de un rango de IPs

Estas en el tema de Validación de un rango de IPs en el foro de PHP en Foros del Web. Buenas a todos. Estoy buscando la manera de controlar el acceso de las IPs a un archivo concreto. Cada vez que el navegador abre el ...
  #1 (permalink)  
Antiguo 08/10/2014, 03:12
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 18 años, 6 meses
Puntos: 2
Validación de un rango de IPs

Buenas a todos.

Estoy buscando la manera de controlar el acceso de las IPs a un archivo concreto. Cada vez que el navegador abre el archivo concreto, registra la dirección IP y la guarda en una columna de la base de datos. Hasta aquí todo correcto.

El asunto es que ahora necesito controlar el hecho de que por ejemplo cierto rango no pueda visualizar el contenido. Pongamos por ejemplo que el visitante tiene la ip 123.123.123.123. Pues necesitaría que al registrarse esa visita, y antes de mostrar el contenido de la página, se buscara en la base de datos y si encuentra coincidencias del tipo 123.123.123.* no muestre la web, puesto que en principio ya la ha visitado previamente y no debería volver a visualizarla por segunda vez.

Espero haberme explicado claramente.

Gracias a los posibles aportes. Buenos días.
  #2 (permalink)  
Antiguo 08/10/2014, 04:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Validación de un rango de IPs

Si puedes leer la IP antes de mostrar nada la solución es filtrar lo que puede ver esa IP.

Es decir si hay 10 archivos posibles a visitar, y la IP ya ha visitado alguno solo le dejo escoger entre los que no ha visitado. Para ello quizas lo mejor seria guardar la IP y el identificador del archivo visitado para facilitar el filtro posterior. Si solo es un archivo lo mismo muestro o no muestro el link a ese archivo. Es decir al archivo no le hago nada, lo puede ver todo el mundo, pero solo ofrezco el acceso a los que pueden verlo.

Para tratar el tema de los rangos tienes la función explode que te permite separar la IP

Código PHP:
Ver original
  1. $ip="123.123.123.123";
  2. $arIp=explode(".",$ip);
  3. $rango=$arIp[0].".".$arIp[1].".".$arIp[2].".%";
  4. echo $rango."<br />";
  5.  
  6. //Las ip que NO estan en el rango
  7. $sql="SELECT ip FROM tablaIps WHERE ip NOT LIKE ".$rango.";";
  8.  
  9. //Las ips del rango
  10. $sql="SELECT ip FROM tablaIps WHERE ip LIKE ".$rango.";";

Ojo % no *
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 10/10/2014, 05:10
Avatar de SirZoX  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia
Mensajes: 124
Antigüedad: 18 años, 6 meses
Puntos: 2
Respuesta: Validación de un rango de IPs

Excelente quimfm !!!

No sé porqué no pensé en usar explode y separar la ip en bloques, a veces me parece que en vez de buscar la solución más simple, busco la forma de complicarme más.

Mil gracias por arrojarme un poquito de luz :D

Etiquetas: bloquear, ip, rango, verificar
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:19.