Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/02/2006, 10:13
Avatar de uamistad
uamistad
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cd. de México
Mensajes: 1.395
Antigüedad: 19 años, 4 meses
Puntos: 1
en texto está cañón...

Es una lata tratar con texto, no hay que liarse tanto.

En una simple tablita de tu base de datos puedes conseguirlo de una forma muy sencilla, pero tendría que conocer un poquito sobre cómo conectarte con la base de datos y manipular la información.

Te puedo dar una idea de cómo iría la onda.

Los campos de la tabla podrían ser:

Código:
-------- TABLA: IPS_BANEADAS -----------
campo: id, autonumérico.
campo: ip, la IP del usuario que llenó un formulario.
campo: fechaingreso, ingresas el momento en que rellenó el form.
campo: minutos_baneado, el número de minutos que lo quieres fuera.
Ahora, te fabricas 2 funciones, llamadas:
Cita:
//regresa 1 si la IP está aún baneada, 0 si ya no lo está.
is_banned($ip);

//no regresa valor
bannear_ip($minutos_baneados,$ip);
is_banned($ip);
Recibe como parámetro la IP que quieres consultar. Esta función te regresará un 1 si la IP no está banneada, 0 si lo está.

En forma interna, primero verificará que la IP existe en la BD y si así es, entonces esta función va a hacer una suma:

$fechaliberacion = $fechaingreso + $minutos_baneado;

Tanto fechaingreso como minutos_baneado lo toma de la base de datos y si nota que:

$fechaliberacion < FECHAACTUAL

Puedes simplemente regresar el valor 1 (diciendo que la IP no está banneada) o bien, borrar primero el valor de la tabla y luego entonces regresar el valor 1.


bannear_ip($minutos_baneados,$ip);
Hace una simple inserción a la BD con la IP del visitante que llenó el form.