Einfacher SPAM Schutz im Kontaktformular


Wenn Sie das Bludit-Plugin Contact3 nutzen, können Sie in diesem Plugin eine einfache und wirkungsvolle Blackliste einbauen, die den Inhalt Ihrer Mail prüft

Einfacher SPAM Schutz

Das Kontaktformular Contact3 ist für das CMS Bludit zu Quasistandard geworden. Es ist möglich die Google-Captcha mit einzubinden - ich persönlich mag Google-Produkte überhaupt nicht und lehen diese ab. Mit ein paar Zeilen Code in der Datei bl-plugins/contact3/plugin.php, peppen Sie das Plugin für Bludit deutlich auf und bringen Ruhe in Ihr Postfach.

...
320  private function validatePost(){
321    
322    //==============================================
323    // Eine Blackliste setzen
324    //==============================================
325    $blacklist = array('sex', 'date', 'babe', 'yandex',
326                       'money', 'porn');
327    $fehler = false;
328    foreach ($blacklist as $value) {
329      if (strpos(strtolower($this->message), $value)) {
330        $fehler = true;
331      }
332    }
333    //=============================================
334    
335    global $L;
336    if(trim($this->senderName)==='')
337      $error = $L->get('Please enter your name');                            
338    elseif(trim($this->senderEmail)==='')
339      $error = $L->get('Please enter a valid email address');
340    elseif(trim($this->message)==='')
341      $error = $L->get('Please enter the content of your message');
342    elseif ($this->getValue('gdpr-checkbox') && !$_POST['gdpr-checkbox']) {
343      $error = $L->get('Please accept the privacy policy');
344    }
345    //==============================================
346    // Den originalen ELSEIF ersetzen durch $FEHLER
347    //==============================================
348    //elseif(!$this->reCaptchaResult){
349    elseif($fehler){
350      $error = $L->get('Please check that you are not a robot');
351    }
352    else
353      $error = false;
354    return $error;
355  }
...

Contact

Zeile 322...333 müssen Sie neu eintippen oder aus dem Beispiel oben herauskopieren und in die Methode validatePost() einfügen. Diese Methode ist grundsätzlich mit der Prüfung der Mail beauftragt und Ihr neues Coding ist daher dort gut aufgehoben. Mit diesem Codeabschnitt legen Sie eine Sperrliste ($blacklist) mit Bgeriffen an, mit denen Sie Roboter oder Spam erkennen möchten - ich habe bereits einige populäre Wörter eingetragen, die Sie noch erweitern können. Die Schleife in 328 durchsucht den Mitteilungstext nach Wörtern der Sperrliste und setzt das Ergebnis ($fehler) auf true wenn ein "böses Wort" gefunden wurde.

Zeile 348 ist die originale Implementierung des Captcha von Google an den Sie sich gleich dranhängen können. Ich habe in Zeil 349 den elseif neu aufgebaut, um den Zustand von $fehler auszuwerten, welcher true ist wenn die Schleife oben eines der Sperrwörter aus der Blacklist im Text der Mail entdeckt hat.

Ist im Text der Mail eines der Sperrwörter aus der Blacklist enthalten, dann kann die Mail nicht versendet werden, es kommt die Fehlermeldung aus Zeile 350 (allerdings in deutsch). Bei Bedarf können Sie diese Meldung auch umschreiben. Normalerweise wird sie vom Language-Paket ins deutsche übersetzt, wenn er die neue Meldung nicht im Paket findet, dann gibt Bludit die Meldung aus die Sie im Quellcode vorgegeben haben.


Mein Name ist Oliver Lohse. Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B. Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 25 Jahren arbeite ich in einem großen Softwareunternehmen für Versicherungen in Hannover Niedersachsen.

FlightCMS
2023-12-21
Konstanten
post
Kontakt@Oliver-Lohse.de

Bludit

Das kostenlose Flatfile CMS Bludit ist das beliebteste Content Management System, das dem großen WordPress sehr nahe kommt, jedoch deutlich mehr Sicherheit bietet.

Datenschutz

Die Webseite verwendet keinerlei Tracking- oder Speichermechanismen, die einen Rückschluss auf das Leserverhalten und Ihre Identität zulassen. Die Webseite verwendet keine Cookies, denn Cookies haben einen schlechten Ruf.

Impressum

CMSWorkbench ist eine Entwicklerseite über meine Arbeit im Bereich der Content Management Systeme. Die vielen Codeschnipsel sind im wesentlichen als kleine Notizzettel zu werten als das es ausgereifte Beiträge wären.