Foros del Web » Programando para Internet » PHP »

¿Cómo evitar el Spam?

Estas en el tema de ¿Cómo evitar el Spam? en el foro de PHP en Foros del Web. Buen día a todos. Mi duda es la siguiente, tengo una web donde los usuarios pueden publicar comentarios pero quisiera poner un tiempo mínimo de ...
  #1 (permalink)  
Antiguo 21/10/2014, 17:30
 
Fecha de Ingreso: octubre-2014
Mensajes: 38
Antigüedad: 9 años, 6 meses
Puntos: 0
¿Cómo evitar el Spam?

Buen día a todos.

Mi duda es la siguiente, tengo una web donde los usuarios pueden publicar comentarios pero quisiera poner un tiempo mínimo de espera para poder comentar de nuevo. En mi tabla de 'Comentarios' tengo un campo donde guardo la fecha, hora y minutos del comentario de tipo 'timestamp' y quisiera que la hora y minutos del ultimo comentario de un usuario se compare con la hora y minutos del nuevo comentario del usuario y que si hay una diferencia entre las dos horas superior a 'X' tiempo se pueda enviar el comentario o de lo contrario que no se envie y le aparezca un mensaje que debe esperar para poder comentar.

Espero haberme explicado bien y si es posible ojala puedan proporcionarme el código o si se puede evitar el spam de otra manera más sencilla me gustaría saberlo.

Muchas gracias.
  #2 (permalink)  
Antiguo 22/10/2014, 00:39
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: ¿Cómo evitar el Spam?

Para hacer eso debes detectar el usuario consultar la fecha de su ultimo post y actuar en consecuencia....

Suponiendo que la fecha del post es DATETIME

Código MySQL:
Ver original
  1. SELECT TIMEDIFF(NOW(),fecha) tiempo FROM tuTablaDePost WHERE idUsuario=X ORDER BY fecha DESC LIMIT 1;

esto te da el tiempo transcurrido des de el ultimo post de X.

Ese sistema puede ser muy lento si tienes muchos post, deberas tener la tabla muy bien indexada.

Otra forma seria permitir un post por sessión, guardas en la session de php si se ha mandado un post o no con lo que obligas al usuario a cerrar la sessión para pder mandar el segundo post....

Tambien podrias invstigar el uso de cookies que incluso podrian obligar a pasar un tiempo despues de la sessión...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 22/10/2014 a las 00:46

Etiquetas: fecha, tabla, usuarios
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 11:46.