Foros del Web » Programando para Internet » PHP »

Necesio saber como bloquear ip solo por 24hr

Estas en el tema de Necesio saber como bloquear ip solo por 24hr en el foro de PHP en Foros del Web. Hola necesito saber como bloqueo una ip pero solo por 24 horas. La cosa es asi: Supongamos que yo hago click en este enlace <a ...
  #1 (permalink)  
Antiguo 23/04/2014, 20:05
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Necesio saber como bloquear ip solo por 24hr

Hola necesito saber como bloqueo una ip pero solo por 24 horas.

La cosa es asi:
Supongamos que yo hago click en este enlace

<a href="www.misitio.com/index.php?referido=3652">Enlace</a>

Y solo pueda entrar a este enlace pasadas las 24 horas y si vuelvo a entrar me redireccione al indice, solo necesito el sistema de php para evitar entrar con la misma ip dos veces en un mismo sitio.

Saludos!
  #2 (permalink)  
Antiguo 24/04/2014, 08:36
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: Necesio saber como bloquear ip solo por 24hr

Buenas!!
pues a mi se me ocurre que en una BD almacenes la hora y las ip's que hayan visitado el link y a partir de ahi compares la IP que te visita con la hora, si ya es mayor de 24hrs la borras de la bd permites su visita, si no la redireccionas a otro lado.
tambien lo podrias hacer con cokies pero ahi te topas que el usuario lo podria alterar al borrarla o modificarla.

saludos!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #3 (permalink)  
Antiguo 24/04/2014, 09:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Necesio saber como bloquear ip solo por 24hr

Código PHP:
<?php

$hora 
time() - (24*60*60); //Segundos actuales menos 24h!

$sql->query("SELECT * FROM Conexiones WHERE Ip='".$la_ip_del_que_viene."' AND DateTimeEntrada > '".$hora."'");

if( ! 
$sql->rows ) exit();
Algo similar. Si hace el exit, es q ya la ha visitado en menos de 24h.
Sino, pues ya te encargas de añadir el registro a la bbdd, etc....

PD: Sabes q la IP se cambia, no? XD

EDIT: Evidentemente, no te vale copiar y pegar...
__________________
>> Eleazan's Source
>> @Eleazan
  #4 (permalink)  
Antiguo 24/04/2014, 09:40
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Necesio saber como bloquear ip solo por 24hr

Gracias por tu respuesta, entonces quedaria algo similar a esto no?
<?php
$ipvisitante = $_SERVER["REMOTE_ADDR"];


$hora = time() - (24*60*60); //Segundos actuales menos 24h!

$sql->query("SELECT * FROM Conexiones WHERE ip='$ipvisitante' AND DateTimeEntrada > '".$hora."'");
{
echo"Solo puede ver este enlace pasadas las 24 Horas";
}
if( ! $sql->rows ) exit();
?>

Y la forma correcta seria la siguiente?

1) Verificar si la IP esta en la base de datos y si no es ta hacer un INSERT


2) Si esta verificar si pasaron las 24 horas entonces mostrar contenido y sino redireccionar

?
Asi
  #5 (permalink)  
Antiguo 24/04/2014, 09:48
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Necesio saber como bloquear ip solo por 24hr

Con la consulta, buscarías si existe algún registro en estas ultimas 24h de esa IP.

No tendrías que "verificar" nada... yo añadiria un registro más a la tabla de conexiones / visitas con la hora actual y la ip, y listo.
__________________
>> Eleazan's Source
>> @Eleazan
  #6 (permalink)  
Antiguo 24/04/2014, 10:16
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Necesio saber como bloquear ip solo por 24hr

Me voy a estudiar y regreso hoy a la noche y los testeo, muchas gracias por sus respuestas muchachos.
  #7 (permalink)  
Antiguo 24/04/2014, 20:34
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Necesio saber como bloquear ip solo por 24hr

Hola, mira puse lo siguiente:
Código PHP:
Ver original
  1. $ipvisitante = $_SERVER["REMOTE_ADDR"];
  2. $hora = time() - (24*(60*60)); //Segundos actuales menos 24h!
  3.  
  4.  
  5. $sql->query=("SELECT * FROM conexiones WHERE ip='$ipvisitante AND tiempoentrada > '".$hora."'");
  6.  
  7. if( ! $sql->rows )
  8. {
  9. echo "Puedes ver este contenido";
  10. }
  11. else
  12. {
  13. echo "No puedes ver este contenido";
  14. exit();
  15. }

Pero siempre me muestra "Puedes ver este contenido" aun cuando le cambio de ip

Tambien te comento que ya inserte manualmente un campo de IP con el valor de 127.0.0.1 y tampoco apsa nada
  #8 (permalink)  
Antiguo 24/04/2014, 21:14
 
Fecha de Ingreso: marzo-2013
Mensajes: 41
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Necesio saber como bloquear ip solo por 24hr

Edito, pueden cerrar tema me salvaste la vida gracias!! Genio!

Última edición por ADJETIVO; 24/04/2014 a las 21:46

Etiquetas: bloquear, ip
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 04:26.