Jörg Reinholz: Hinweis: Es geht um ein Gästebuch

Beitrag lesen

Moin!

Gästebuch also. Ok. So geht das bei mir:

Spam und Häufigkeit:

(Vor dem Eintrag steht ein Spamfilter, der ganz gut zu funktionieren scheint. Jedenfalls bekomme ich kaum Spam zu sehen, habe aber in den Jahren seit 2010 immerhin auch schon genau 51 Kommentare erhalten. Davon habe ich 13 Blödelkommentare nicht veröffentlicht (ich sehe mir die Kommentare vorher an) - es bleiben 38 von denen 12 meine Antworten sind. Macht also 36 Nutzer-Kommentare in 5 Jahren ... auf einer Webseite mit 12 Kategorien und insgesamt ca. 50 Seiten.

Ich habe das in meinem kleinen CMS so realisiert:

Die Kommentare werden in der Rohform einzeln in Textdateien geschrieben, welche einfach eine aufsteigende Nummer haben. Dafür sorgt eine Datei namens next_nr, welche nur die neue Nummer enthält und beim Speichern eines Kommentars durch folgenden "Einzeiler" hochgesetzt wird:

[file_put_contents](http://php.net/manual/de/function.file-put-contents.php)( '/PFAD_ZU/next_nr', file_get_contents('/PFAD_ZU/next_nr') + 1), LOCK_EX );

Das löst die von Dedlfix aufgeworfenen Probleme.

Die Kommentare selbst werden vor dem Speichern getrimmt und durch htmlspecialchars() gejagt (Ich weiß: Das entspricht nicht ganz der reinen Lehre, wonach man den Input als Rohdaten speichern soll). Metadaten (angegebener Name und Datum) landen (ebenso bereinigt) in einer CSV-Datei, welche auch die Nummer des zugehörigen Artikels enthält.

Vor der Ausgabe des Kommentars versehe ich diesen mit den Metadaten und mit den rahmenden <div>, ersetze die Zeilenumbrüche durch <br>. Damit auch dafür nicht unnötig Rechenzeit verbraten wird hat das CMS einen Cache.

Jörg Reinholz