Foros del Web » Programando para Internet » PHP »

¿Cómo evitr el Spam?

Estas en el tema de ¿Cómo evitr 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:29
 
Fecha de Ingreso: octubre-2014
Mensajes: 38
Antigüedad: 10 años, 1 mes
Puntos: 0
¿Cómo evitr 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:55
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años
Puntos: 51
Respuesta: ¿Cómo evitr el Spam?

Hola, lo que comentas es buena idea, y no sería difícil de desarrollar.
Otra opción es añadir un captcha en el formulario donde se envían los comentarios.
__________________
Diseño Web Jaén
  #3 (permalink)  
Antiguo 23/10/2014, 02:04
 
Fecha de Ingreso: octubre-2014
Mensajes: 38
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: ¿Cómo evitr el Spam?

Cita:
Iniciado por garciasanchezdani Ver Mensaje
Hola, lo que comentas es buena idea, y no sería difícil de desarrollar.
Otra opción es añadir un captcha en el formulario donde se envían los comentarios.
Hola, he decidido no optar por los captcha por el motivo de la estética, sobre el tema ¿podrías ayudarme sobre como investigar o como desarrollar el código?
  #4 (permalink)  
Antiguo 23/10/2014, 02:19
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: ¿Cómo evitr el Spam?

Yo buscaría en el comentario ciertas palabras tabú o expresiones regulares para filtrar el comentario y ponerlo en "cuarentena", es decir, que necesite aprovación expresa para poderse mostrar. Simplemente sería tener un diccionario de palabras como "viagra, cialis, pills, ..." y mirar si existen en los comentarios.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 23/10/2014, 02:20
Avatar de garciasanchezdani  
Fecha de Ingreso: noviembre-2011
Mensajes: 429
Antigüedad: 13 años
Puntos: 51
Respuesta: ¿Cómo evitr el Spam?

Buenas, además de lo que dice @Malenko ,también puede ayudarte este código:

Código PHP:
Ver original
  1. $seconds = strtotime("2014-11-20 08:10:00") - strtotime("2014-11-21 10:42:00");
  2.  
  3. $days    = floor($seconds / 86400);
  4. $hours   = floor(($seconds - ($days * 86400)) / 3600);
  5. $minutes = floor(($seconds - ($days * 86400) - ($hours * 3600))/60);
  6. $seconds = floor(($seconds - ($days * 86400) - ($hours * 3600) - ($minutes*60)));

Que resta dos fechas, y te dice el tiempo restante en la unidad temporal que tú quieras.
__________________
Diseño Web Jaén
  #6 (permalink)  
Antiguo 23/10/2014, 06:32
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: ¿Cómo evitr el Spam?

Permitime disentir con el tema del captcha y la estética. Tenés reCAPTCHA de Google que es gratuito y queda muy bien. Es el que usan la mayoría de los sitios profesionales:

https://www.google.com/recaptcha/admin

En cuanto a protección, creo que es lo más fácil y seguro de implementar.

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 22:21.