StartWeblogÜbersichtBlog-Eintrag
2005 – Ein neues Jahr hat begonnen Weblog Breite Front gegen Blog-Kommentar-Spammer

Blog-Eintrag

Fehler im Kommentar-System behoben

Wochenlang hat die Kommentar-Funktion des Weblogs von sierkbornemann.de leider nicht richtig funktioniert. Ich habe es erst relativ spät bemerkt, weil ich als Betreiber des Weblogs sie ja eher selten nutze. Kommentare konnten nicht entgegengenommen werden, selbst die Vorschau funktionierte nicht. Erst durch das Studieren der Zugriffsstatistik des Servers kam ich drauf, dass wohl von Nutzern mehrmals der erfolglose Versuch unternommen worden sein muss, Kommentare zu einzelnen Weblog-Einträgen abzusetzen. Sehr ärgerlich und unangenehm!

Die Fehlersuche bzw. Ursachenforschung hat mich einige Zeit und Nerven gekostet. Schließlich habe ich meinen Template-Code verglichen mit dem der Default-Templates des Movable Type-Systems und habe auf meinem gespiegelten Entwicklungssystem testweise die Default-Templates von Movable Type eingesetzt, um den Fehler einzukreisen.

Die Ursache des Problems ist vergleichsweise trivial: Im HTML-Code der Formulare hatte ich die Absenden- und Vorschau-Buttons abweichend vom Code der Default-Templates mit <button> ausgezeichnet. Das ist an sich nicht verboten, und HTML sieht ausdrücklich diese Methode auch vor. Offenbar führt die Verwendung dieses HTML-Elements jedoch zu einer fehlerhaften Verarbeitung der eingegebenen Formular-Daten durch das CGI-Interface.

Ich habe die Buttons nun wieder — gemäß den Default-Templates des Movable Type-Systems — mit dem <input>-Element ausgezeichnet, und das Problem scheint behoben zu sein. Kommentare zu den Weblog-Einträgen können ab jetzt wieder entgegengenommen werden.

Weiteres Nachforschen hat übrigends ergeben, dass das Perl-Modul HTML::Form, welches im Movable Type-System maßgeblich am Parsen von Formular-Daten beteiligt ist, das HTML-Element <button> nicht zu kennen scheint und in der Folge Formulare, welche dieses HTML-Element verwenden, offenbar nicht korrekt verarbeitet werden.

Ich werde weitergehend überprüfen, ob dieses Perl-Modul wirklich so in die Sache verwickelt ist, wie ich es derzeit vermute. Möglicherweise liege ich ja auch mit meiner Vermutung daneben.

21:49 UTC+01:00

Anfang