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

Read more

Fix: “Hyper-V cannot be installed: Virtualization support is disabled in the firmware.”

image.png

Wer eine Windows 8 Pro (oder Enterprise) Edition sein eigen nennt kann ein ziemlich cooles Feature nutzen: Hyper-V. Microsoft Virtualisierungsplattform direkt in einem Client OS integriert. Die Installation ist Kinderleicht – einfach das Windows Feature anschalten: What? “Virtualization support is disabled in the firmware”? Erster Gedanke: Verdammt – unterstützt das der Prozessor/das Board/irgendein magischer Schaltkreis …

Read more

HowTo: Rahmenlose WPF Apps mit Schattenwurf

image.png

Die Standard-Fenster von Windows verschwinden immer mehr und werden ersetzt durch schicker anmutende Bedienelemente. Diesmal meine ich allerdings keine “Metro” Apps, sondern normale, full-power Windows Applikationen. Achtung: Der Blogpost ist sehr “Low-Level”. Es gibt bestimmt einige Libraries oder NuGet Packages, die diese Sachen mitbringen. Die herangehensweise hat auch 2 Nachteile! Aus dem Drögen Standard (für …

Read more

Welchen Befehl verwendet Visual Studio für WebDeploy? Der “UseMsdeployExe” Switch…

image.png

WebDeploy finde ich ein großartiges Tool um WebApplikationen zu publishen bzw Packages zu bauen, allerdings kann es manchmal schwer sein den Vorgang zu debuggen. Link zum Setup WebDeploy: Wer Probleme beim Aufsetzen von WebDeploy hat, der kann auf diesen Post mal ein Blick werfen.  Publishing aus dem Visual Studio klappt, aber über die Cmd nicht? …

Read more

Setup IIS 8 für ASP.NET & WebDeploy auf Windows 8 und Windows Server 2012

image.png

Eine Maschine für ASP.NET (oder generell den Web-Stack von Microsoft) und Web Deploy vorzubereiten ist nicht wirklich schwierig. Wer die Server-Variante einsetzt kann das ganze sogar via Powershell erledigen – dazu einfach bis fast ans Ende des Posts scrollen. Kurz-Information: Was ist Web Deploy? Web Deploy (früher auch MSDeploy genannt) ist eine Deployment-Art welche cleverer …

Read more

Team Foundation Service – ein erster Blick auf den TFS in der Cloud

image.png

Willkommen im 100% Microsoft-approved Developer Tooling: Seit letzte Woche sind die Team Foundation Services in den RTM Status gegangen – d.h. man kann und darf damit produktiv arbeiten, allerdings gibt es noch keine absoluten Angaben zum Preis. Nur soviel ist jetzt bekannt (ohne Gewähr) : – Teams bis zu 5 Mann können kostenlos die Team …

Read more

OWIN Präsentation auf der WebNetConf

image.png

Mitte Oktober war ich in Mailand auf der WebNetConf mit einem Vortrag über OWIN vertreten. Viele von euch denken jetzt: Was zur Hölle ist OWIN? Und genau darum ging es auch in dem Talk Grundzüge lassen sich auch in diesem Post nachlesen: OWIN- um was geht es da und warum ist es cool? Präsentation: Anmerkungen: …

Read more

Einheiten und Schnittstellen

Aufgrund der Objektorientierung beschreibt man als Entwickler seine zu bearbeitenden Daten in Objekte. Logisch. Das sieht dann so aus: public List<Product> GetProducts() Doch was ist mit grundlegenden Einheiten? Für das Datum gibts im Framework ja das DateTime Objekt, aber was ist mit all den anderen Einheiten: Liter, Meter, Gigabyte usw. ? Die einfachste Antwort der …

Read more

Web Deploy per WebPI installiert und IIS Management Service nicht vorhanden?

image.png

Um den IIS “Web Deploy”-ready zu machen hatte ich bereits ein Setup-Blogpost geschieben. Im Grunde besteht das System aus zwei Teilen: – den Agent für das Deployment- den Management Service, welcher sich auch um den Remote-Zugriff kümmert Heute wollte ich einen IIS “Web Deploy”-ready machen, allerdings fehlte der “Manage Service” Button in der UI. Problem …

Read more

Twitter Login in ASP.NET MVC 4 ohne Membership & co. nutzen

image.png

Ich hatte bereits vor einiger Zeit über die Authentifizierung mit Twitter gebloggt. Mit ASP.NET MVC 4 kommen das DotNetOpenAuth NuGet Packages mit, welches die reine Authentifzieren deutlich vereinfachen. ASP.NET MVC 4 – Membership & co. Wer eine ganz normale MVC 4 WebApp erstellen möchte findet danach direkt einen “AccountController” und mehrere Klassen in der “AccountModels.cs”. …

Read more

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