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:
- 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.
- 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.
Gracias. ¿Hay un diccionario conocido de estas conocidas palabras spam? – badnaam
No, no hay ningún diccionario estándar en ninguna parte, pero una búsqueda rápida en Google aparecerá en algunos sitios diferentes. –