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 ;)