Frage

Ich habe etwa 20 oder so aktiv Blogs, die ziemlich viel Spam bekommen. Wie ich CAPCHA die Alternative Hass ist sehr klug Spam-Filterung. Ich möchte eine einfachen REST api wie Spam-Filter-Service bauen, die ich in allen meinen Blogs verwenden würde. Auf diese Weise kann ich IP-Blöcke konsolidieren und Spam-Erkennung zu 3rd-Party wie Akisment , Mollom , Defensio und irgendwann in der Zukunft meine eigene Spam-Erkennung schreibt wirklich meinen Kopf in einige sehr interessanten Spam-Erkennungsalgorithmen zu erhalten.

Meine Sprache der Wahl ist PHP, betrachte ich mich recht tüchtig und ich kann in tiefen und kommen mit einer Lösung wirklich graben. Dieses Projekt, ich fühle mich, als eine gute Übung verwendet werden, eine andere Sprache zu lernen. Der große 2, die in den Sinn kommen, sind Python und Ruby on Rails, wie jeder von ihnen wie seine nächsten Kommen unseres Erlösers spricht. Da dies meist nur eine API ist und keine Admin oder öffentlich gegenüberhaupt, scheint wie grundlegender Python einen einfachen HTTP-Server scheint, wie die Art und Weise laufen zu gehen. Fehle ich etwas? Was würden Sie, die große Gemeinschaft, empfehlen? Ich würde gerne Ihre Sprache, Buch und Best Practices Empfehlungen zu hören.

Dies hat zu skalieren und ich mag es daran mit, dass schreiben. Im Moment würde ich wahrscheinlich in der Lage sein, 3rd-Party kostenlose Pläne zu verwenden, aber bald genug würde ich muß die ganze Sache erweitern, um tatsächlich zu denken, auf seinem eigenen. Denn jetzt denke ich, ich werde einfach alles speichern, in einer MySQL-Datenbank, bis ich auf es einige echte Analyse tun. Dank!

War es hilfreich?

Lösung

Python hat einige Vorteile.

  1. Es gibt mehr HTTP-Server-Frameworks in Python. Schauen Sie sich die WSGI Referenzimplementierung , und lernen, wie den WSGI-Standard zu verwenden, Web-Anfragen zu behandeln. Es ist sehr sauber und erweiterbar. Es dauert ein wenig Studie, dass WSGI zu sehen, ist alles über das Hinzufügen von Details auf die Anfrage, bis Sie eine Stufe in der Verarbeitung zu erreichen, wo es an der Zeit, eine Antwort zu formulieren.

  2. MIME E-Mail-Parsing ist ziemlich einfach.

  3. Danach werden Sie mit Website eine schwarze Liste und Content-Filter für Ihren Spam-Erkennung sein.

    • Eine Website schwarze Liste kann eine große, extravagant RDBMS sein. Oder es kann einfach gebeizt Python Set von Domain-Namen und IP-Adressen sein. Ich empfehle ein einfaches gebeizte Set-Objekt, das in Erinnerung lebt. Es ist schnell. Sie können Ihre RESTful Service neu laden Satz aus einer Quelldatei beim Empfang einiger GET-Anfrage, die eine Aktualisierung zwingt.

    • Text-Filterung ist nur schwer. Ich möchte beginnen mit SpamBayes .

Andere Tipps

Meine erste Frage - , warum Sie nicht nur eine Verwendung dieser drei Dienste, die Sie aufgelistet Es scheint, sie tun genau das, was Sie wollen. Es tut uns zynisch, aber ich bezweifle, dass Sie alleine arbeiten in einer angemessenen Zeit auf diesen Websites verwendet, um die Algorithmen der Gestaltung der Software-Ingenieure schlagen konnte, vor allem ihre Einkommensquelle abhängig bedenkt, wie gut sie es tun.

Dann wieder, Sie können nur klüger sein, als sie sind = P. Ich bin nicht einer zu beurteilen. Auf jeden Fall würde ich empfehlen, Python , für die Gründe, die Sie angegeben - Sie werden nicht Lust öffentliche Schnittstelle benötigen, so Python Mangel an Exzellenz in diesem Bereich keine Rolle wird. Python ist auch gut für die Textverarbeitung zu tun, und es hat große Einbau-Bindings für Datenbanken (sqlite, zum Beispiel, man kann natürlich, MySQL installieren, wenn Sie das Gefühl, es ist notwendig).

Nachteile:., Es könnte ein bisschen langsam bekommen, je nachdem, wie anspruchsvoll Ihre Algorithmen erhalten

ich demütig empfehlen Lua , nicht nur, weil es ist eine große, schnelle Sprache, bereits mit Web-Server integriert, sondern auch, weil man dann ausnutzen OSBF-Lua , einen vorhandenen Spam-Filter, Spam-Filter gewonnen Wettbewerbe für mehrere Jahre in einer Reihe. Fidelis Assis und ich habe in eine Menge Arbeit zu setzen versucht, das Modell über E-Mail zu verallgemeinern, und wir würden uns freuen, mit Ihnen zu arbeiten, ihn mit der App zu integrieren, das, was Lua wurde konzipiert ist.

Wie für die Skalierung, im Trainingsmodus verarbeiten wir Hunderte von E-Mail pro Sekunde auf eine 2006-Maschine, so dass sollte ziemlich gut sogar für eine anstrengende Website trainieren.

Wir müssten mit dem Sie arbeiten Sachen ohne Mail-Header zu klassifizieren, aber ich habe schon in diese Richtung gedrängt. Für weitere Informationen schreiben Sie bitte nr@cs.tufts.edu. (Ja, ich wollen Leute mich senden Spam. Es ist für die Forschung!)

Ich würde Akismet empfehlen für seine Einfachheit der Nutzung und hoher Genauigkeit. Mit nur einem WordPress.com API-Schlüssel und einen API-Aufruf können Sie bestimmen, ob ein gegebenes Klecks Text von einem Benutzer spammy ist. Ich habe für Wordpress das Akismet Plugin, das die gleiche API verwendet, und haben stellare Ergebnisse mit ihm für das letzte Jahr hatte oder so.

Zend Framework hat eine große Akismet PHP Klasse, die Sie unabhängig vom Rest des Rahmens verwenden, die die Integration ziemlich einfach machen sollten. Die Dokumentation ist sehr gründlich, wie gut.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top