FlatPress: Kommentarspam trotz QuickSpamFilter?
Jep. Habe ich. – Ursache: Ein weiterer Bug in FlatPress. :-/
Diese Instanz von FlatPress ist so eingestellt, dass sämtliche neuen Kommentare von mir gesichtet und freigeschaltet werden müssen, bevor sie euch da draußen angezeigt werden. Dazu habe ich das Plugin "Comment Center" mit einer entsprechenden Regel versehen. Da ich aber faul bin, möchte ich Kommentare, die z. B. Links zu Webseiten enthalten, auf denen man "lustige Pillen" kaufen kann, gar nicht erst moderieren, sondern bereits bei der Erstellung abweisen. Dafür gibt es das Plugin "QuickSpamFilter", in dem man die bösen Wörter hinterlegt, die dann zur Ablehnung eines Kommentars führen.
Konfiguriert war's, aber dennoch wurden in den letzten Tagen mehrfach solche Kommentare durchgelassen. Meine Testinstanz war hingegen spamfrei.
Was war die Ursache? Ok, dass es ein Bug in FlatPress ist, habe ich eingangs bereits verraten, aber wie lautet nun die Erklärung dafür? Die ist simpel, mutet allerdings seltsam an: Ich habe in der Vergangenheit in der Live-Instanz über die Plugin-Verwaltung testweise verschiedene Plugins deaktiviert und wieder aktiviert. -- Ein ganz normaler Vorgang, wie ich finde, aber das führte dazu, dass sich das Format der Datei fp-content/config/plugins.conf.php änderte.
So sieht die Datei im Auslieferungszustand von FlatPress 1.2.1 aus:
<?php
$fp_plugins = array(
// to disable put // or # before the plugin name
// remove it to enable :)
'jquery', // needed by ligthbox2 (quite heavy in size)
'lightbox2', // fancy usable img overlay effect, needs jquery
'thumb', // creates thumbnails adding scale=NN% to [img] tags :)
'bbcode', // bbcode-style formatting; if you disable this
// you'll loose some features, but you will be able to use xhtml
// as a default
// 'syntaxhighlighter',//fancy js to color code
'accessibleantispam',
'qspam', // quick spam filter
// 'akismet', // powerful antispam; requires you to have a wordpress api key
// open the plugin file to set your key
'adminarea',
'archives',
// 'calendar', //time consuming, not really recommended :p
// 'lastcomments', // cache-based last-comments block
// 'lastcommentsadmin',
'lastentries',
'prettyurls',
'categories',
'searchbox',
'blockparser',
'readmore',
'favicon',
'commentcenter',
'mediamanager'
);
Und so nach dem Aktivieren oder Deaktivieren eines Plugins:
<?php
$fp_plugins = array (
0 => 'accessibleantispam',
1 => 'adminarea',
2 => 'archives',
3 => 'bbcode',
4 => 'blockparser',
5 => 'categories',
6 => 'commentcenter',
7 => 'favicon',
8 => 'jquery',
9 => 'lastentries',
10 => 'lightbox2',
11 => 'mediamanager',
12 => 'prettyurls',
13 => 'qspam',
14 => 'readmore',
15 => 'searchbox',
16 => 'thumb',
);
?>
"Kleiner" Unterschied, oder?
Entscheidend ist hier jedenfalls, dass die Plugins nun alphabetisch sortiert sind und "commentcenter" vor "qspam" steht. Demzufolge scheint das QuickSpamFilter-Plugin nicht mehr zum Tragen zu kommen, nachdem bereits "Comment Center" mit seiner Arbeit "durch ist".
Wie verheiratet man nun wieder beide Plugins? Den Quellcode von FlatPress habe ich mir dazu noch nicht angeschaut, aber als temporären Workaround funktioniert es, wenn ihr die Namen der beiden Plugins vertauscht. Schreibt also bei 6 'qspam' und bei 13 'commentcenter'. (Die Zahlen können abweichen, falls ihr andere Plugins verwendet. Lasst die Zahlen einfach unangetastet.)
Ich bin gespannt, was sich demnächst noch so für Bugs durch die alphabetische Plugin-Reihenfolge ergeben werden.
Update 19.05.2022: FlatPress: Nachschlag zum Kommentarspam