Vorwort
Meiner Erfahrung nach lässt mit keiner Methode Spam zu 100% vermeiden. Das trifft nicht nur auf Zenphoto, sodern auch auf Piwigo und Wordpress etc. zu.
Inzwischen sind die Spam Bots so intelligent geworden, dass auch ein Captcha kein wirkliches Hindernis mehr ist.
Dennoch gibt es einige Methoden um zumindest die Veröffentlichung von Spam Kommentaren zu erschweren.
Nachfolgend ein paar Tipps wie sich ein rudimentäter Spamschutz mit Zenphoto realisieren lässt. Zenphoto bringt dazu ein paar Plugins mit.
Re-Captcha
Mit der Aktivierung dieses Plugins wäre ich vorsichtig, da dies datenschutz-rechtlich zumindest zweifelhaft ist. Das Plugin setzt einige Cookies so das hierzu das Cookie-Consent Plugin entsprechend konfigurieren solltet. Darüber hinaus bindet Google's Re-Captcha Google Schriftarten ein und übermittelt meines Wissens einige Daten an die Google Server in den USA.
Da mir das zu "wackelig" ist, verzichte ich auf den Einsatz.
Simple Spam
Dieses Plugin entscheidet anhand einer Blacklist und von verdächtigen URL Mustern ob es sich um Spam handelt. Da eine solche Blacklist niemals vollständig sein wird, habe ich das Plugin nach einigen Tests deaktiviert und nutze stattdessen das Trivial Spam Plugin.
Trivial Spam
Ehrlich gesagt nutze ich das Plugin eher als Moderations Plugin, daher habe ich die Einstellungen auf "Moderieren" gesetzt. Das sorgt dafür das alle Kommentare erst nach Freischaltung im Backend veröffentlicht werden. Das ist bei einer überschaubaren Anzahl an Kommentaren kein wirklicher Mehraufwand. Bei stark frequentierten Seiten mit täglich dutzenden Kommentaren würde ich dem Simple Spam Plugin nochmal eine Chance geben.
Bisher ging es bei den Plugins eher um die Kommentare als um das Kontaktformular. Mit abgeschaltetem Captcha Plugin werden die Kontaktmails 1:1 weitergeleitet. Die zu bestätigende Datenübermittlung ist dabei kein wirkliches Hindernis für Spam Mails.
Spam Schutz Kontakt Formular
Wie sich ein zugegeben einfacher Spam Schutz in das Kontaktformular einbinden lässt, zeige ich euch in diesem Abschnitt.
Vorausgesetzt euer Theme bringt kein eigenes Kontaktformular mit (Paradigm nutzt meines Wissens ein eigenes Formular), dann liegt die Datei für das Kontaktformular in diesem Berzeichnis:
Pfad_Zur_Zenphoto_Installation\zp-core\zp-extensions\contact_form\
Dort liegt genau eine Datei: form.php
Diese werden wir nachfolgend editieren, daher unbedingt eine Sicherungskopie anlegen!!
Offnet diese Datei nun in einem Editor, zum Beispiel mit notepad++.
Wir möchten nun eine kleine Sicherheitsabfrage hinter dem Nachrichtentext und vor der Zustimmung zur Datenübermittlung einfügen. Der Code für den Nachrichtentext beginnt in Zeile 126 mit:
<p class="mailmessage">
und endet in Zeile 129 mit dem schliessenden p-tag:
</p>
Hinter Zeile 29 fügt ihr nun den nachfolgenden Code ein:
<p>
<label for="subject"><?php echo gettext("Sicherheitsfrage:<strong>*</strong>"); ?></label>
<label ="Hauptstadt">
<input type="text" name="Sicherheitsfrage" pattern="Berlin" placeholder="Die Hauptstadt von Deutschland heisst:" size="50" required>
</label>
</br>
</p>
Dies fügt ein neues Pflicht-Textfeld in das Kontaktformular ein. Dieses Textfeld enthält als Platzhalter den Hinweis auf die zu beantwortende Frage:
Mit "pattern" wird festgelegt welcher Inhalt in des Textfeld eingetragen werden muss. Ist die Eingabe nicht Berlin, dann wird das Formular nicht verschickt und ein entsprechner Hinweis vom Browser angezeigt.
Die Frage lässt sich beliebig ändern, wenn man beispielsweise lieber die Haupstadt von Italien oder den höchsten Berg Deutschlands abfragen möchte :-)
Mehr Artikel zu Zenphoto gibt es hier.