Rückwand Ideen fürs Terrarium aus dem Zoo Frankfurt

Heute war ich im Zoo Frankfurt (alleine! man glaubt es kaum!). Unter anderem hat mir deren Exoterrahaus sehr gefallen. Die haben sich mit der Einrichtung sehr viel Mühe gegeben. Kann man sich viel abkupfern. Hier mal ein paar Beispiele.

2013-03-23 - Ein Traum, die Felsen hier scheinen echt zu sein:

2013-03-23 - Passt im Zoo Frankfurt auch immer alles zusammen, Farben, Licht etc:

2013-03-23 - Das nenn ich mal eine Rückwand:

2013-03-23 - Hier ein gemalter Gradient an der Wand:

2013-03-23 - Ein Gehege für Makaken oder sowas:

2013-03-23 - Man beachte den bemalten Hintergrund:

23 March 2013 | #draussengewesen

 

Neues von Sascha Grammel

Sascha Grammel fand ich ja super genial. Schade nur, dass er immer das gleiche im Programm hatte. An der Front scheint sich wohl was zu tun, im Juni kommt eine neue DVD raus:

 

Sehr schön, sehr schön. Wieder was, worauf man sich freuen kann!

23 March 2013 | #wasmachteigentlich

 

Negative Temperaturen sind heiss!

Abgefahrener "Vortrag" über negative Temperaturen von Sixty Symbols:

20 March 2013 | #science

 

Rechen-Captcha bei Kommentarfunktion

Ich habe heute in meinem Kommentarformular eine Captchafunktion eingebaut, weil immer mehr SPAM aufgeschlagen ist. Man muss eine simple Rechenaufgabe lösen, damit der Kommentar angenommen wird. Kommentare sind bei mir zwar immer moderiert, deswegen nerven mich die täglichen Notifications über Kommentarspam trotzdem.

Das sollte daher nun vorbei sein.

Viagra, my ass!

Update 2013-03-22:

Bleibt spannend. Sind natürlich immer noch SPAMer unterwegs, die nun auch nicht mehr durchkommen. Aber nun kriegen die alle einen HTTP 500 Error (d.h. Django stirbt da weg): </p>

- - [22/Mar/2013:04:51:39 +0100] "GET /blog/2011/04/24/2/neu-gemessen/ HTTP/1.1" 18957 200 "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5" "-" - - [22/Mar/2013:04:51:40 +0100] "POST /blog/2011/04/24/2/neu-gemessen/addcomment/ HTTP/1.1" 4719 500 "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5" "/blog/2011/04/24/2/neu-gemessen/"

Und das, obwohl meine ganze Maschinerie mit Exceptions funktioniert, die sollte dann eigenltich auch einen Django-Tod abfangen. Ich hab jetzt mal Error-Mailing aktiviert. Dann krieg ich nen Stacktrace und Environment gemailt, wenn das passiert. Ich bin ja gespannt wie Hulle, was die da eigentlich genau machen.

Update 2013-03-21:

So. Nachdem meine erste - primitive Variante - nicht ausreichend war, habe ich jetzt aufgerüstet. Ich bin den ausgezeichneten Ratschlägen von Web ohne Barrieren gefolgt und bin jetzt - denke ich - happy mit der Lösung.

Im Einzelnen habe ich jetzt eine dreistufige Verteidigungslinie gegen SPAMer:

  • Stufe 1: Ein Timing Cookie

    Das funktioniert wie folgt: wenn man ein einzelnes Blogposting aufruft, bekommt man einen Cookie mitgeliefert. Der Cookie beinhaltet den Timestamp des Zeitpunkts wo die URL aufgerufen wurde und eine Signatur aus Timestamp und einem Salt per SHA256.
    Wenn das Kommentarformular gepostet wird, prüft Django eine Reihe von Dingen:

    • Der Cookie muss grundsätzlich vorhanden sein
    • Der Cookie muss den Timestamp UND die Signatur beinhalten
    • Die Signatur muss richtig sein!
    • Der Timestamp darf nicht jünger als 10 Sekunden sein
    Wenn einer dieser Punkte nicht zutrifft, wird die Session throttled. Das bedeutet, dass im Django an der Stelle ein Delay eingebaut ist, der den SPAMer aufhält.

  • Stufe 2: ein Honeypot Formularfeld

    Im wesentlichen handelt es sich einfach um ein weiteres Formularfeld des Kommentarformulars. Dieses ist aber im normalen Browser nicht sichtbar. Dadurch wird es von einem Besucher auch nicht ausgefüllt und in dem Fall ist alles gut.
    Wenn aber ein Bot dieses Feld ausfüllt, dann passieren zweierlei Dinge: zum einen kommt wieder das oben erwähnte Throttling zum Einsatz. Und zum anderen - sollte der SPAMer so geduldig sein - gibt es eine Fehlermeldung, das Formular sei falsch ausgefüllt (freilich ohne Hinweis, dass das Feld LEER sein muss, damit Django happy ist!).

  • Stufe 3: Logikfragen als Captcha

    Das hatte ich im Prinzip auch schon vorher. Nur da waren es noch einfache Rechenaufgaben. Jetzt sind es logische Fragen, die sich durch blindes maschinelles Übersetzen nicht so ohne weiteres beantworten lassen. Einfach mal hier unter diesem Posting die Frage anschauen, dann versteht man, was ich meine. Gerne öfter Reloaden - es gibt einen Pool an Fragen.

In der Summe ist es ziemlich unwahrscheinlich, dass es ein SPAMer nun durch meine Verteidigungslinien schafft, während es für echte Menschen weiter so einfach ist, wie nur irgend möglich. Der einzige Nachteil ist, dass die Fragen derzeit nur auf deutsch vorliegen. Eventuell erweitere ich das noch auf englisch. Dazu müsste ich aber ohnehin eine englische Version der Seite anbieten, was ich sowieso schon länger vorhabe.

Update 2013-03-21:

Tja, scheint nicht wirklich zu helfen:

- - [21/Mar/2013:07:21:24 +0100] "GET /blog/2012/08/06/85/her-name-2/ HTTP/1.0" 21352 200 "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0" "/blog/2012/08/06/85/her-name-2/" - - [21/Mar/2013:07:21:26 +0100] "POST /blog/2012/08/06/85/her-name-2/addcomment/ HTTP/1.0" 17760 200 "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0" "/blog/2012/08/06/85/her-name-2/"

War Kommentarspam. Na wunderbar. Ich frage mich, wie der das in 2 Sekunden hingekriegt hat!

19 March 2013 | #source

 

Dehner in Dietzenbach

Es ergibt sich, dass ich mich momentan fernab der sonst üblichen ländlichen Gefilde aufhalte und mir dachte: nutz das mal aus und geh in den Dehner und schau mal, ob Du dort ein paar schöne Wurzeln fürs neue Aquarium abgreifen kannst.

Ich also durch Wind und Wetter 15 Minuten von der S-Bahn-Station zum Dehner gelatscht. Und was finde ich dort vor? Nur Mist! Die paar Wurzeln, die es dort überhaupt gab, sind der Rede nicht wert. Da hab ich in meinem Komposthaufen bessere.

Hab ich mich vielleicht geärgert.

Und Bartagamen haben die da. Natürlich nicht artgerecht gehalten. Eine beschissene Sparlampe und einen Heizstrahler drin und das wars. Doppelt ärgerlich.

2013-03-18 - :

2013-03-18 - :

18 March 2013 | #unfassbar