Archiv für die Kategorie ‘Website’

Abgeheftet in: Website | Tags: | 23:07 Uhr | 4

Jetzt auch mit Trackback

2
Juli

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…

Abgeheftet in: Website | Tags: | 18:06 Uhr | 1

Mich kennt man jetzt auch.…

11
Juni

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

Abgeheftet in: Website | Tags: , , | 09:06 Uhr | 6

Fight the Kommentar-Spam — X-tended

7
Juni

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.

Abgeheftet in: Website | Tags: , , | 08:06 Uhr | 16

Fight the Kommetar-Spam — Simple

7
Juni

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

Abgeheftet in: Website | Tags: | 12:10 Uhr | 0

Ich bin Schweizer

5
Oktober

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

Abgeheftet in: Website | Tags: | 21:01 Uhr | 0

Zeichensätze und ihre Tücken

29
Januar

Letzten Donnerstag kam ich auf die Idee, meine Webseite auf UTF-8 umzustellen.

Um es kurz zu erklären — es geht hierbei um Zeichenkodierung, für z. B. im Deutschen die Umlaute, damit diese auch richtig (de-)kodiert werden nach Bits und Bytes und wieder zurück (genauere Infos findet man in der Wikipedia!). Und UTF-8 ist sozusagen die eierlegende Wollmilchsau, da diese sehr viele Zeichensätze vereint. Das von mir vorher genutze ISO-8859–1 enthielt nur europäsche Zeichen und ich wollte etwas allgemeingültiges nutzen.

Mein Gedanke war, daß ich „nur“ mal eben meine MySQL-Datenbank von Version 4.0 auf 4.1 updaten und im Kopf dieser HTML-Seiten statt ISO-8859–1 UTF-8 ausgeben muß.

Falsch gedacht!

Allein das Update der Datenbank zog eine Menge mehr Arbeit mit sich, da alle Programme, die irgendwie auf MySQL zugriffen, auch neu kompiliert werden mußten. Ergo war der Server hierfür schon einmal ca. 8 Stunden beschäftigt (bzw. ich ca. 3 Stunden).

Das knappe Update der Webseiten war auch fatal unterschätzt! Ich bin gerade erst fertig geworden mit der Fehlerbereinigung. Erst wurden die Zeichen nicht richtig angezeigt, dann wurden diese zwar richtig angezeigt, aber noch im alten Code in der Datenbank abgespeichert. Zeichenersetzungen funktionierten nicht mehr, etc. pp.

Aber nun ist es geschafft und ich merke mir für’s nächste mal, daß man nicht alles als zu simpel ansehen sollte.

PS: Wer immer noch Probleme haben sollte, das — obwohl die Webseite alle Umlaute richtig anzeigt — in der Datenbank die Zeichen doch noch nach ISO-kodierten UTF-8 ausehen, sollte vor seine SQL-Queries diesen absetzen:

SET NAMES utf8;

Keine Ahnung, wie lange ich danach gesucht habe.…

Abgeheftet in: Website | Tags: | 00:01 Uhr | 0

Ein neuer Anfang…

1
Januar

Da das Jahr auch erneuert wurde, mußte meine Webseite auch ein „fresh up“ erhalten. Diese unterteilt sich in zwei Bereiche! Einmal der Weblog–Bereich und in den Gallery-Bereich

Weblog
Ich werde versuchen auf den Hype der Weblogs aufzuspringen. Dies ist dann auch mein erster Versuch!
Worin unterscheidet sich dieses Weblog-System von anderen?
Dieses beruht auf Sunlog, wurde aber durch mich stark erweitert. Des Weiteren wurde mein altes Design von dem Tabellen-Layout auf CSS umgestellt.

Gallery
Vorher wurde die 4Images-Gallery benutzt, nur ab sofort ist die Gallery 2 aktiv, welche mir persönlich besser gefällt und sehr viel mehr Freiheiten bietet, als andere Gallery-Systeme die ich kenne!

Seht euch um, kommentiert und schaut wieder rein.…

PS: Alle alten User können sich nicht mehr mit ihren bekannten Nutzerdaten anmelden. Daher bitte dies nochmals vornehmen. Danke!

Hanging Monk
Beam me up!