2010-09-24 13 views
5

Estoy utilizando rakismet para comprobar el correo no deseado en los comentarios.Comprobación de correo no deseado en rieles

En este momento, lo hago en una devolución de llamada before_create y me pregunto en un sitio de producción, si esta es la manera más eficiente de hacerlo o si esto debe hacerse por un trabajo en segundo plano.

¿Puede compartir su experiencia en términos de cuánto demora esto agrega a la capacidad de respuesta de sus aplicaciones de producción?

Respuesta

1

No he usado rakisment, pero hacer cualquier preprocesamiento de una acción ralentizará, y en la situación de su filtro de spam, se ralentizará más y más a medida que se incluyan más indicadores de spam en el diccionario rakismet .

recomendaría un proceso de dos pasos:

  1. En el before_create, hacer una verificación de correo no deseado mínimo para atrapar las muy evidentes. Puede buscar palabras ("viagra", "cialis", "deuda", etc.), así como verificar que el remitente no envíe muchos comentarios muy rápido. Esto será bastante rápido y no ralentizará demasiado tu aplicación.
  2. En una Delayed Job (una de las bibliotecas de procesamiento de fondo más conocidas para Ruby), ejecute sus comprobaciones de rakismet. Estos pueden eliminar/marcar los comentarios después del hecho.

Esta solución limita el spam evidente de inmediato, y, finalmente, aprovechar las capacidades de rakismet para limpiar los comentarios en su totalidad, sin causar demasiada tensión o ralentizar el sistema.

Uno de los beneficios de este enfoque es que es extremadamente fácil de escalar sus procesos de trabajo diferido, pero acaba de iniciar más trabajadores en el mismo (o diferente) servidor (s). Esto significa que su aplicación principal no se rastreará, ya que el trabajo pesado se ha descargado a varias instancias del proceso de trabajo.

+0

Gracias. ¿Hay un diccionario conocido de estas conocidas palabras spam? – badnaam

+0

No, no hay ningún diccionario estándar en ninguna parte, pero una búsqueda rápida en Google aparecerá en algunos sitios diferentes. –

Cuestiones relacionadas