Seid gewarnt: Das anonyme Internet ist voller Spam.
Spam ist ja nix neues – allerdings wusste ich bislang nicht, dass selbst völlig eigen geschrieben Applikationen innerhalb kürzester Zeit heimgesucht werden können.
Ich bastel in meiner Freizeit an einer Website Namens KnowYourStack. Diese war eine ganze Zeit lang online und in der Zwischenzeit bin ich umgezogen und hatte wenig Zeit für die Weiterentwicklung & (vor allem) für die Wartung.
Fail early – fail often
Ganz nach diesem Motto hab ich in meiner jugendlichen Leichtsinnigkeit die Website online geschalten. Ich wollte zudem mal ausprobieren wie sich ein anonymer Zugang bewährt – Idee: Keine Registrierung – keine großen Hemmschwellen etwas auf der Seite zu machen.
Resultat: Spam.
Es hat nicht lang gedauert und irgendwelche Bots haben die Seite regelmäßig zubombardiert mit Spam (auch wenn das zweite spanisch (?) aussieht – naja.) :
Da das System komplett auf meinen eigenen Mist Code gewachsen ist, war ich doch verwundert dass das Spamaufkommen so hoch ist (am Tag ca. 4-5 seltsame Einträge)
Bruteforce FTW
Da ich nicht davon ausgehe, dass die Bots speziell auf meine Seite angepasst wurden, nehm ich einfach folgendes an:
Spam Bots grasen das Internet ab und sobald ihnen ein Formular in die Hände kommt wird es ausgefüllt und abgeschickt. Wer keine Sicherungsmechanismen wie z.B. eine Rechenaufgabe oder ein Captcha eingebaut hat wird zur Werbetafel der Spam Industrie. Interessanterweise hatte ich das Gefühl, dass je mehr Spam auf der Seite war, desto mehr wurde es auch. Einen gewissen Respekt hab ich schon vor den kleinen Teufeln, die sowas entwickeln.
Lessons learned: Auch selbst gebaute Apps sind Spammagneten
Ohne einen Schutz, wie z.B. ein Captcha oder gar eine kleine Rechenaufgabe oder sonstige Logik macht man es den Spam Bots zu leicht.
Lessons learned: Anonym nur moderiert
Anonyme Beiträge können ihren Wert haben – allerdings sollte man es vorher moderieren.
Lessons learned: Mini-Administrations-Funktionen sollten eingebaut sein
Ganz am Anfang hatte ich mir noch gar keinen Kopf gemacht und als die ersten Spam Einträge kamen, musste ich die über das RavenDB Management Studio entfernen. Das geht – ist allerdings nicht gerade schnell. Daher meine Empfehlung: Im gewissen Rahmen sollte man schon von Anfang an Administrationsfunktionen einbauen – auch ein nicht-anonymer Nutzer kann unpassenden Content breitstreuen.
PS: Ich hab mal die Handbremse gezogen. KnowYourStack Reimagined







Hans-Peter Schelian
14. November 2012
Ja das leben ist kein Ponnyhof!
Lesson learned: immer an das böse in der Welt denken.
Lg
HP
Robert Mühsig
14. November 2012
Dass das böse auf den Ponyhöfen von WordPress & co. wohnt hab ich ja gewusst. Aber erschreckenderweise passiert es auch auf meinem eigenen Ponyhof. Hach… die Welt ist doch böse (und clever!)
Meixger
14. November 2012
Diese Spam-Bots (oder sind das Personen? überwinden zB. das Goolge reCAPTCHA problemlos!!.
Ich setze nun auf Akismet – 0% Spam -100% Ham
Daniel Lang
14. November 2012
Unsere Lösung auf http://mangomint.com/contact ist, dass wir das Formular per jQuery in einen GET request verpacken und an eine eigens dafür vorgesehene action schicken. Zwar ist das zu aufwändig um es für eine Vielzahl von Formularen auf einer Webseite zu machen – funktioniert aber super wenn man nur wenige hat und man braucht den User nicht mit Captchas stören.
Robert Mühsig
14. November 2012
Das ist aber sehr un-REST-ig
Aber ja – Captchas stören enorm und ich kann die selber oftmals nicht mehr entziffern.
oliver
15. November 2012
Evtl. kann man es auch ohne Captcha lösen. Ich schätze mal das unser Spam Freunde keinen Browser automatisiert haben sondern einfach nur irgendwelche Scripte die nach Formularen suchen. In dem Fall dürfte es schon ausreichen wenn du keine Action in dem Formular setzt sondern dich per JQuery ans Submit Event hängst und dass einfach per Post abschickst.
Wenns noch sicher sein soll könntest du nach dem Vorbild des Anti Forgery Token ein Geheimnis einbauen was unbedingt mitgeschickt werden muss.