Seid gewarnt: Das anonyme Internet ist voller Spam.

image.png

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.) :

image

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

Wenn dir der Blogpost gefallen hat, dann hinterlasse doch einen Kommentar. Wenn du auf dem Laufenden bleiben willst, abonniere unseren RSS Feed oder folge uns auf Twitter.

About the author

Written by Robert Mühsig

Hi, ich bin Robert Mühsig und bin Webentwickler und beschäftige mich mit Web-Frameworks auf dem Microsoft Web Stack und scheue mich auch nicht vor Javascript. Der Blog begann als "Problemsammelstelle und Lösungshilfe" und seitdem schreibe ich hier alles auf. Seit 2008 bin ich Microsoft MVP für ASP.NET. Treffen kann man mich online via Twitter (@robert0muehsig) oder hier.

6 Responses

  1. Ja das leben ist kein Ponnyhof!
    Lesson learned: immer an das böse in der Welt denken.

    Lg
    HP

    Reply
    • 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!)

      Reply
  2. Diese Spam-Bots (oder sind das Personen? überwinden zB. das Goolge reCAPTCHA problemlos!!.
    Ich setze nun auf Akismet – 0% Spam -100% Ham :)

    Reply
  3. 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.

    Reply
    • Das ist aber sehr un-REST-ig ;) Aber ja – Captchas stören enorm und ich kann die selber oftmals nicht mehr entziffern.

      Reply
  4. 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.

    Reply

Comment on this post

Letzte Posts

  • image.png
    Wieviel Speicher belegt meine RavenDB? Und welchen Plan benötige ich bei CloudBird oder RavenHQ?

    Wer RavenDB nicht auf seinem eigenen Server betreiben möchte oder einfach wissen möchte wieviel Speicherplatz die eigentlichen Daten benötigen gibt es zwei Möglichkeiten: Falls es noch einen anderen Weg gibt: Immer her damit – aktuell hab ich nur die beiden Methoden gefunden und sie scheinen mehr oder weniger zu passen. RavenDB Storage per JSON über ...

  • image_thumb.png
    Powershell – Output “formatieren” und Details anzeigen

    Die Powershell ist ein prima Werkzeug und immer mehr System-Tools und Dienste stellen Powershell Module zur Verfügung. Da ich aber nur “am Rande” mit Powershell zutun habe bin ich auf ein nettes Detail gestossen, welches vermutlich bei den erfahreneren Powershell Usern maximal ein müdes Lächeln hervorruft: Ps-Cmd | Format-List etc. Um den Text-Output zu formatieren ...

  • clip_image002.jpg
    Rabatt-Code & Freiticket für die Developer Week 2013

    Nach langer Zeit haben wir mal wieder ein kleines Angebot für euch: Wir sind Medienpartner der Developer Week 2013 und über uns könnt ihr günstiger an Tickets herankommen. Mit dem Code DWX13coi könnt ihr von Sonderkonditionen profitieren (= Ticketpreise werden niedriger & keine bösen Überraschungen). Die Developer Week (DWX) bündelt vom 24.-27. Juni 2013 in ...

  • image.png
    IIS & Windows Authentication – Troubleshooting mit Negotiate & NTLM

    Windows Authentifizierung ist eine einfache (und naheliegende) Authentifizierungs-Option für “Haus-interne” Webapplikationen. Setup Im IIS selbst kann man die Windows Authentifzierung sehr leicht anschalten: Natürlich kann man dies auch über die web.config steuern: <system.web> ... <authentication mode="Windows"/> ... </system.web> ... Fehlermeldung “HTTP Error 401.2 – Unauthorized”: Dies kann (wie fast immer) viele Gründe haben, z.B. weil ...

  • image.png
    Json-Online-Tools: Viewer & Json2Csharp Generator

    Wo APIs im Spiel sind, ist das JSON Format nicht weit. Da ich immer mal wieder zwei Tools benutze, möchte ich diese hier auch mal kurz würdigen. JSON Viewer Wer nur den JSON-Text vor sich hat sieht meist die Struktur nicht. Über JSON Viewer kann man sich recht einfach einen Überblick verschaffen: [URL] JSON2CSharp Der ...

Unterstützt von…

Facebook