Ich habe rakisment
nicht verwendet, aber jede Vorverarbeitung für eine Aktion verlangsamt es, und in der Situation Ihres Spam-Filters wird es immer langsamer, da mehr Spam-Indikatoren im rakismet
Wörterbuch enthalten sind .
würde ich einen zweistufiger Prozess empfehlen:
- Im
before_create
, ein minimalen Spam-Check tut sehr offensichtliche zu fangen. Sie können nach Wörtern suchen ("viagra", "cialis", "debt", usw.), sowie überprüfen, dass der Übergeber nicht viele Kommentare sehr schnell einreicht. Dies wird ziemlich schnell sein und Ihre App nicht zu sehr verlangsamen.
- In einem Delayed Job (Eine der bekannteren Hintergrundverarbeitung Bibliotheken für Ruby), führen Sie Ihre Rakismet-Prüfungen. Diese können die Kommentare nachträglich löschen/markieren.
Diese Lösung schränkt eklatante Spam sofort, und schließlich die Fähigkeiten von rakismet
nutzen die Kommentare ganz zu reinigen, ohne zu viel Belastung verursacht oder an das System verlangsamen.
Ein Vorteil dieses Ansatzes ist, dass es extrem einfach ist, Ihre verzögerten Job-Prozesse zu skalieren, aber nur mehr Arbeiter auf dem gleichen (oder anderen) Server (s) zu starten. Dies bedeutet, dass Ihre Hauptanwendung nicht crawlt, da das Heavy-Lifting auf mehrere Instanzen des Arbeitsprozesses ausgelagert wurde.
Danke. Gibt es ein bekanntes Wörterbuch dieser bekannten Spam-Wörter? – badnaam
Nein, es gibt kein Standardwörterbuch, aber eine schnelle Suche bei Google wird von verschiedenen Seiten angezeigt. –