Foros del Web » Programando para Internet » PHP »

Problemita con IE

Estas en el tema de Problemita con IE en el foro de PHP en Foros del Web. Hola, yo queria consultar por que tengo un anti flood en php y me anda para firefox y no para ie.. osea puedo floodear sin ...
  #1 (permalink)  
Antiguo 09/04/2007, 06:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 0
Sonrisa Problemita con IE

Hola, yo queria consultar por que tengo un anti flood en php y me anda para firefox y no para ie.. osea puedo floodear sin que me de ninguna proteccion, queria saber cual podria ser el problema, el script es este.

Código:
$antiflood_time = time() + 20;
   $cookie = explode(",", $_COOKIE['antiflood']); 

     if ($cookie[1] >= $cmensaje) 
			{ 
echo "<script>alert(\"$error_antiflood\")</script><body onload=\"javascript:window.history. go( -1 )\">";
		exit; 
		} 
	elseif ($cookie[0] == $_SERVER['PHP_SELF']) 	
			{	 
    $cookie[1]++;
    setcookie("antiflood", $_SERVER['PHP_SELF'] . "," . $cookie[1], $antiflood_time); 
				} 
			else 
				{
			    setcookie("antiflood", ""); 
			    setcookie("antiflood", $_SERVER['PHP_SELF'] . ",1", $antiflood_time); 
			}
Gracias por su ayuda.
  #2 (permalink)  
Antiguo 09/04/2007, 08:46
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Problemita con IE

Si no se estan guardando las cookies, es que las tienes desacativadas en el IE.

Saludillos.
  #3 (permalink)  
Antiguo 09/04/2007, 12:47
 
Fecha de Ingreso: marzo-2007
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Problemita con IE

Puede ser, pero entonces eso no es ninguna proteccion ? solo hay que desactivar las cookies para flodear ? necesito si es que este php no anda.. uno que tenga la funcion de anti flood para un tag board...

Gracias.
  #4 (permalink)  
Antiguo 10/04/2007, 12:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 103
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Problemita con IE

Nadie me puede ayudar ?
  #5 (permalink)  
Antiguo 11/04/2007, 08:21
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: Problemita con IE

Te voy a dar una solucion mas general, la cual se puede implementar en pocos minutos (dependiendo de tus capacidad con el PHP).

Hay muchas maneras de evitar el flood en todo tipo, para tu tag, en foros, etc .. . actualmente se estan usando muchos los captcha (imagenes que imprimen numeros y letras, y el usuario debe reconocerlas) el problema de este sistema, es que a los usuarios normales no les gusta, y la larga baja el promedio de Comentarios en muchos de los sitios.

Una solucion , es tener un registro en la bd de las consultas (de comentarios, de tu tagboard, etc ..) con una condicion de un mensaje cada 5 minutos o menos.

Debes crear una tabla con almenos estos datos
antiflood
Código:
id|ip|hora|sec
id : unico y autoincrementable
ip : varchar(15)
hora : int (vas a guardar la hora en timestamp)
sec : var(30) un identificador ( como comentario)

Entonces en tu script que recibe los comentarios por decir, antes de insertar en la base de datos, consultas que no exista ningun registro en la tabla antiflood con la condicion ( IP = al visitante y hora > hora_actual - 300 (hace 5 minutos) ) , si no existen registro, se inserta el comentario, si existen registros , no se inserta (hay flood). ademas tambien es bueno agregar una consulta sql que borre todos los registros que sean de hace 1 hora atras (ya que no sirven).

Esta solucion es bien transparente al usuario , y ademas , no permite que exista flood (al menos un comentario cada 5 minutos por ip)

Te lo explico a grandes rasgos el sistema, de todas maneras en la tarde voy a tener un tiempo mas , y voy a realizar un Tips/Articulo en mi sitio sobre esto (un poco mas completo y con mas codigo) ...

Saludos
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 00:06.