Archiv für die Kategorie ‘Website’

Montag, 2. Juli 2007

Jetzt auch mit Trackback

23:12 Uhr 4 Kommentare

Eine neue Version meines Weblogs ist online. Optisch haben sich nur Kleinigkeiten geändert, dafür aber einiges unter der Haube - Dinge, die man nicht sieht.

Ich habe mein Backend ein klein wenig komfortabler gestaltet und ab sofort kann ich Trackbacks versenden und empfangen. Wenn die sendende Blog-Software den Trackback auto-discovern kann, dann wird diese bei mir fündig. Wordpress kann dies z. B. nicht und dafür ist oben der Trackback-Link vorhanden, den man manuell dann in seiner Software setzen muß.

Ansonsten habe ich das Javascript mit den Moo-Tools ein wenig verbessert, Bilder werden jetzt in der Lightbox (Moo-Tools like) angezeigt und unzählige Kleinigkeiten kamen hinzu - an die ich mich nicht mehr alle erinnern kann. Wer sie findet, soll sie doch hier einfach mal in den Kommentaren aufzählen ;)

Ach ja, da jetzt Trackbacks funktionieren, ich diese aber nicht durch und durch testen konnte, bitte ich darum, mir einfach mal einige Trackbacks zu senden. Und damit sollen sich nicht die Spam-Sender angesprochen fühlen :D

PS: Und wenn mal alles so einfach wäre. Erst wollte die neue Version auf dem Server nicht laufen, da PHP nicht mit \”tokenize\” kompiliert wurde - was ich nachholen mußte, dann wollte das Datenbank-Update nicht anlaufen, weil ein Tippfehler drin war, den ich nicht sehen wollte und zu guter letzt waren noch kleine Fehler vorhanden, die ich noch ändern wollte. Ich denke, ich warte wieder etwas länger mit den Updates…

Donnerstag, 14. Juni 2007

Langsam arbeitet er wieder

23:02 Uhr Keine Kommentare

Dienstag ist ja mein Zweitserver ausgefallen und kam nach dem Reboot nicht mehr in einen definierten Zustand. Ich habe jetzt ein gcc-Update durchgeführt und mußte deswegen auch alle Pakete auf dem System neu kompilieren. Dies wird bei der Linux-Distribution Gentoo mit einem kleinen Befehl erledigt. Problem war, daß 240 Pakete neu gebaut werden mußten und wenn das Kompilieren bei Paket 229 abbricht, mußte ich den Fehler beheben und das System fing wieder von vorn an, die 240 Pakete zu kompilieren. Darum hat es bis gerade gedauert, daß alle Pakete neu erstellt waren.

Im Moment rennt der Server mit Mühe und Not, der Apache rennt und eMail werden empfangen und versandt. Ich werde nächste Woche den Kernel neu erstellen müssen und hoffen, daß dann der Server nach dem booten wieder hochfährt.

Wenn das durch ist, pack ich die Kiste wieder ein Jahr nicht an …

Mittwoch, 13. Juni 2007

Reboot tut nicht immer gut

14:17 Uhr Keine Kommentare

Neben meinem eigenen Webserver habe ich noch den Webserver meines Cousins unter meinen Fittichen. Eingesetzt wird die Linuxdistribution Gentoo, wie auf meinem Server auch. Sorgen machte mir der Server schon lange, da ich von Hand einige wichtige Pakete selbst kompiliert hatte und so kein komplettes Distributionupdate machen wollte, sondern nur wichtige Sicherheitsupdates nachgezogen habe.

Beim letzen Sicherheitsupdate schmiss der Compiler schon bei einigen Paketen Fehler, so daß ich Angst hatte, den Server danach zu rebooten und wollte mich irgendwann - wenn man mal Zeit hat - dem Komplettupdate hingeben.

Hätte ich dies mal früher getan! Gestern konnten keine eMails mehr versandt werden, weil der Mailfilter immer wieder mit nicht nachvollziehbaren Fehlermeldungen ausstieg und ich Dussel ließ mich zu einem Reboot hinreissen. Tja, der Server fuhr zwar hoch, startete aber seine Netzwerkdienste nicht mehr und jetzt bin ich seit gestern Abend dabei, alles neu zu machen und so wie es aussieht, wird das noch einige Tage in Anspruch nehmen - und das, wo ich immer noch nicht wirklich Zeit dafür übrig habe :(

Montag, 11. Juni 2007

Mich kennt man jetzt auch….

18:09 Uhr 1 Kommentar

Nachdem ich letzte Woche dem Christoph gegen sein Spamproblem helfen konnte, setzt nun auch der Martin die Idee ein und es scheint zu helfen.

Und meinen kleinen Blog besuchen seitdem einige Leute mehr. Freut mich :) !

Endlich mal wieder richtig leckeren Kaffee…

17:36 Uhr 3 Kommentare



Bei mir steht ein Kaffee-Vollautomat von Siemens schon etwas länger rum, der mich jeden Morgen mit Kaffee versorgt. Von so einem Teil erwarte ich nun seit einem Jahr, daß aus stink normalen Kaffee ein leckeres, braunes Elexier fliessen soll. Aber bisher schmeckte mir der normale Filterkaffee vom Aldi besser als die Plörre, die aus dem Automaten kam. Mein Arbeitskollege - der seit ein paar Tagen auch einen Vollautomaten von Jura sein eigenen nennt - meinte, daß man unbedingt darauf achten sollte, daß die verwendete Kaffeesorte 100% Arabica-Bohnen enthalten müsse.

Toller Tipp, dachte ich mir, warum erfahre ich das jetzt erst?!?! Ich machte mich daher im Netz auf die Suche, welchen heissen Kaffeetipp andere Seiten für mich hätten und so wurde ich auf die kleine Kaffeerösterei in Hamburg aufmerksam - Becking Kaffee!

Da ich eh letztes Wochenende in Hamburg war, bin ich am Freitag dort vorbei gefahren und habe mich beraten lassen. Am Ende nahm ich die Sorten “Espresso Temprameno” und “Sonntags Kaffee” mit. Im Moment trinke ich den Sonntags Kaffee und ich bin froh, endlich mal wieder richtig leckeren Kaffee trinken zu können.

Und wer nicht mal eben für Kaffee nach Hamburg fahren möchte, der kann bei Becking auch auf der Webseite bestellen.

Donnerstag, 7. Juni 2007

Fight the Kommentar-Spam - Teil 2 - X-tended Version

09:59 Uhr 6 Kommentare

Wie im vorherigen Beitrag beschrieben, sind Spambots extrem dumm, bzw. der Programmierer dieser hat in den Code der Bots nicht ausreichend Hirnschmalz gesteckt. Ist in der Regel auch nicht nötig, da Kommentarfelder und Gästebuchformulare sehr einfach aufgebaut sind.

Die hier nun weiter beschriebene Möglichkeit stammt nicht aus meiner Feder, sondern von dem Ersteller des Grundgerüsts meines Weblog-Systems Andreas Ahlenstorf. Vielen Dank nochmals, für diese - seit zwei Jahren - gut funktionierende Idee! Und es ist wieder nur ein Fingerzeig, wie man an das Thema herangehen kann und keine fertige Plugin Lösung. Falls jemand eine coded, egal für welches Weblogsystem, bin ich bereit, diese hier gern zu verlinken oder zu veröffentlichen.

Also, um es nochmals zu wiederholen und zusammenzufassen. Spambots sind dumm und füllen alles aus, was denen unterkommt. Spambots beherrschen aber keine Cookies und somit auch keine Sessions. Um es einfach auszudrücken, Spambots nehmen keine laufenden Daten mit, wenn diese auf deiner Webseite von einer Seite zur nächsten wandern.

Diese Tatsache ließ die Idee aufkommen, daß man den Input-Feldern nicht mehr den gleichen Namen, wie z. B. “author”, “commenttext”, “email” oder “website”, sondern diesen immer wieder ändernde Hashwerte gibt, welche erst über eine Session ihrer richtigen Bedeutung, wie “author”, “website”, etc. zugeordnet wird. Das alles zur Veranschaulichung in ein kleines Beispiel gepackt. Vorher sah es immer so aus:

<input type=”text” name=”author” />

Über name=”author” wird in dem dahinter liegenden Skript, welches dann den Kommentar wegspeichert, eine eindeutige Zuordnung hergestellt. Bei mir sieht es dagegen so aus:

<input type=”text” name=”79bb89ba1bb6fbc26af7b31198731d10f85cefa8″ />

Der Zufallswert hinter name= ändert sich bei jedem Aufruf der Seite, die das Kommentarfeld aufweist. Eine eindeutige, wiederkehrende Zuordnung ist also nicht gegeben. Da dies aber nötig ist, um den Inhalt auch richtig speichern zu können, wird bei mir in der Session diese Zuordnung hinterlegt, so daß beim abschicken des Kommentares erst einmal in der Sessionvariable “nachgeschaut” wird, daß z. B. der Input-Feld-Name 79bb89ba1bb6fbc26af7b31198731d10f85cefa8 für das Feld Author steht.

Ein Spambot, der keine Cookies beherrscht und somit auch die Session nicht mitführt, kann somit keinen Kommentar abgeben. Leider aber auch kein menschlicher Kommentator, der Cookies in seinem Webbrowser abgeschaltet hat. Aber kollaterale Schäden gibt es immer ;)

Diese o. g. Hashwerte müssen für jedes Kommentarfeld erstellt, in der Session hinterlegt werden und eindeutig sein. Mit PHP erstellt man diesen eindeutigen Hashwert so:

sha1(uniqid(rand(), true));

Diesen, bzw. da man es ja für alle Inputfelder erstellen muß, diese Hashwerte sichert man dann in der Session, z. B. wie hier:

$_SESSION[‘field‘][‘author‘] = sha1(uniqid(rand(), true));
$_SESSION[‘field‘][‘email‘] = sha1(uniqid(rand(), true));
$_SESSION[‘field‘][‘website‘] = sha1(uniqid(rand(), true));
$_SESSION[‘field‘][‘comment‘] = sha1(uniqid(rand(), true));

und gibt diese, logischerweise, seinem Webseiten-Template mit, damit dieses diese dann anstelle von “author”, “email”, etc. einfügt.

Wird nun ein Kommentar abgegeben, muß nun zwingend eine Session vorhanden sein. Ist diese nicht da, ist es mit ziemlicher Sicherheit ein Spambot. Wenn es kein Bot ist, also die Session vorhanden ist, geht man beim speichern den umgekehrten Weg und ordnet den Hashwerten wieder die eindeutige Bedeutung zu. Hier ein beispielhafter PHP-Auszug, nur für das Author-Feld:

if (empty($_SESSION['fields']['author'])) {
echo “Possible Spam”;
exit;
}

if (!isset($_REQUEST[$_SESSION['fields']['author']])) {
echo “Possible Spam”;
exit;
}

$request_vars['author'] = strip_tags($_REQUEST[$_SESSION['fields']['author']]);

Soweit alles verstanden, was ich meine? Ich bin leider nicht der “Erklärbär”, aber ich möchte auch nur einen Ansatz geben, wie man noch gegen Kommentarspam vorgehen kann ohne den normalen Besucher unnötig zu belästigen. Und gegen Tipps, wie ich den Artikel auffrischen kann, bin ich auch dankbar.

Wer hieraus ein Plugin für eines der bekannten Weblogsysteme erstellt, soll sich bitte melden.

Fight the Kommetar-Spam - die sehr sehr einfache Methode

08:44 Uhr 16 Kommentare

Der Admartinator und der Christoph wollen von mir ein Tutorial haben, wie man den Kommentarspam sich vom Leib halten kann. Bei den beiden ist / war es nötig, eine kleine, simple Matheaufgabe zu lösen, wenn man seinen Kommentar abgeben wollte. Hintergrund ist der, daß Spambots fleissig Formulare ausfüllen können, aber den Zusammenhang nicht erkennen, was genau in diese Formulare soll. Daher wird der Kommentar nur angenommen, wenn die Aufgabe richtig gelöst wurde. Dies hat aber den Nachteil, daß der Kommentator an diese Methode gewöhnen muß und dadurch evtl. überfordert sein kann (ja, Kommentatoren können auch dumm sein - fast wie Spambots ;) )

Ich möchte hier eine sehr simple Methode beschreiben, wie bei mir Spam-Kommentare im Blog erkannt werden. Am Ende ergibt dies kein fertiges Wordpress-Plugin, oder eine Anleitung wie man so ein Plugin für seinen Blog coded, sondern es soll mehr ein Fingerzeig sein, wie man die (momentanen) Schwächen des Spambots zu seinem Vorteil ausnutzen kann.

Wie weiter oben schon angedeutet, sind Spambots dumm wie Brot - eigentlich noch dümmer. Deren einziger Sinn und Zweck ist es, in deinem Blog Kommentare zu hinterlassen, wie gefüllt sind mit Links zu irgendwelchen Webseiten, die Viagra oder sonstiges verkaufen. Findet also dieser Spambot eine Möglichkeit einen Kommentar zu hinterlassen, dann macht der das auch in aller Gründlichkeit, indem er alle vorhandenen Felder ausfüllt, wie z. B. Name, eMail-Adresse, Webseite und auch einen ausgiebigen Kommentar gibt er ab.

Na, aufgepasst? Er füllt alle Felder aus! Alle, die er findet. Nachteil des Spambots ist, was unser Vorteil sein kann, daß er -
soweit ich weiß - kein CSS kann. Bei mir ist es so, daß bei den Kommentaren ein weiteres Feld vorhanden ist, daß der normale, lebendige Kommentator nicht sieht, aber der Spambot fleissig ausfüllt.

<input class=”feld” type=”text” name=”megatext” size=”25″ style=”display:none;” />

Sobald der Kommentar abgegeben und dieses Feld ausgefüllt wurde, kann ich mir ziemlich sicher sein, daß kein Mensch mit graphischen Webbrowser es war, der seine Meinung abgeben wollte. Also kann ich getrost diesen Kommentar verwerfen.

Klingt einfach, oder? Ist es auch, daher die folgt mit etwas Abstand eine weitere Möglichkeit.

UPDATE 10 Minuten später
Dieses Input-Feld muß von dem Skript, welches die Kommentare in die Datenbank speichert, auch geprüft werden. Wenn es einen Inhalt aufweist, dann ist es Spam. Ein simpler Code in PHP wie dieser sollte reichen:

if ( !empty($_POST['megatext'])) {
echo “Ein Spambot;
exit;
}

Donnerstag, 5. Oktober 2006

Ich bin Schweizer

12:49 Uhr Keine Kommentare

…zumindest ein klein wenig! Seit gestern habe ich eine schweizer Domain regestiert - puzi.ch. Nicht sonderlich spektakulär, aber mich erfreut es gerade!

Mittwoch, 27. September 2006

Wie sperre ich böse Benutzer mit IPTABLES aus

07:35 Uhr Keine Kommentare

Kleine Notiz für mich! Um eine IP-Adresse zu blocken einfach folgendes nutzen:

iptables -I INPUT -s zu_sperrende_ip -j DROP

Montag, 20. Februar 2006

Murphy’s Law

21:48 Uhr Keine Kommentare

Langsam glaube ich wirklich, daß es o. g. Gesetz gibt!

Erst zerlegt sich meine dBox selbständig. Es war zwar “nur” eine Kabel-Box, aber ich war zufrieden, daß es ein bessere Bild liefert, als das analoge Kabel-Signal. Diese wird seit Freitag aber nur noch als Sat-Box erkannt und ein Software-Update brachte keine Besserung. Jetzt ist wohl erst einmal Sendepause … :-(

Dann habe ich mir letzte Woche eine Peppercon eRic Remote Management Karte bestellt. Diese ist dafür da, daß meinen seinen Server bedienen kann, als würde man mit Tastatur, Maus und Bildschirm direkt davor stehen, kann einen Reset ausführen, falls der Server mal hängt, etc.. Die Karte habe ich mir nur gekauft, da ich gegen Ende letzten Jahres knapp hintereinander mehrere Probleme hatte, die es erforderten zum Rechenzentrum zu fahren und einen Techniker zu bemühen.

Diese Karte wurde heute geliefert! Wer errät wann der Server ausgefallen ist? GENAU! Vorgestern! Der Techniker war nicht greifbar, meine Karte noch nicht eingebaut und so kam es, daß mein Server bis gerade nicht erreichbar war.

Ich wette darauf, daß - sobald die eRic-Karte eingebaut ist - der Server ein Jahr keine Ausfallerscheinungen mehr hat … Murphy’s Law eben ….