Logo

Einfacher SPAM Schutz im Kontaktformular für Bludit CMS


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

Divoom Sling Bag mit Pixel Art LED-Display

Divoom Sling Bag mit Pixel Art LED-Display - Eingebautes LED-Panel und Stromversorgung über eine Powerbank. Sie können Echtzeit-Zeichnungen erstellen, indem Sie die Divoom-App verwenden, die auf dem Rucksack angezeigt wird und die hellen Pixelkunstbilder und Animationen auf dem 16 x 16-Pixel-"Monitor" zeigt, was zum Thema des coolen Stils beiträgt. Hinweis

kaufen...
Automad Bludit Coast GetSimple GRAV Handlebars Java PHP Pico Smarty Templating Typemill WonderCMS WordPress yamlCMS

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  }
...

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.

Passend:


Contact3 Hooks das Bludit CMS Mailformular einbinden

Blenden Sie das Kontaktformular Plugin Contact3 immer oben auf der Kontaktseite ein. Durch die Änderung des so genannten Hook ist dies einfach möglich.

E-Mail mit PHP lesen, mit PHP auswerten und im Posteingang löschen

Mit diesem PHP Script lesen Sie eine Mail in Ihrem Postfach, werten den Inhalt mittels PHP aus und löschen im Anschluss die Mail aus dem Posteingang mit PHP.

Eine eMail mit sendMail() automatisch aus PHP versenden

Mit diesem kleinen Script realisieren Sie einen Mailversandt mit Standard PHP und einer Sperrliste die den Versand abbricht wenn Sperrworte enthalten sind.

Directory climbing und Dateizugriff in WordPress CMS

Das CMS WordPress nutzt die so genannte XMLRPC, um verlinkte Blogs und Beiträge untereinander zu informieren - der Sinn des Weblog - dies ist Problematisch.

Das tree.php Snippet für eine Baumstruktur in Automad CMS

Erstellen Sie im CMS Automad eigene Templates, dann sollten Sie einen Blick auf diese Ordner werfen, denn sie sind maßgeblich für das Template wichtig.

Das Script edit-content.php im Bludit CMS individuell anpassen

Möchten Sie den Backend-Editor des Autors oder Admin individuell anpassen? Dann finden Sie hier den richtigen Pfad zur Programm-Source edit-content.php.

Ein Array in der de_DE.json des Bludit CMS anlegen

Legen Sie ein Array in der Sprachdatei de_DE.json des Templates an und greifen aus dem Template auf einzelne Key Value Paare zu um Affiliate Links zu erzeugen

Die Methode User() für Abfragen im Bludit CMS nutzen

Greifen Sie mit der Methode User() auf Attribute des angemeldeten und registrierten Benutzers zu und zeigen Namen, Avatare oder Kontaktdaten unter Beiträgen an

Ein Heredoc-Parser und Mini CMS mit PHP zum Templating erstellt

Dieser Beitrag zeigt einen Heredoc Template Parser und mini CMS, erstellt in PHP, unter Nutzung der Heredoc-Syntax. Content, Template und Parser in einer Datei.

Die kleinste PHP Template-Engine und kleinstes CMS der Welt

Das ist die kleinste PHP Template-Engine, bzw. das kleinste PHP-CMS der Welt, erstellt mit der Programmiersprache PHP und 7 Zeilen Code.

Eine einfache PHP FlatFile Projekt und Vorhaben DB

In diesem Beitrag können Sie eine kleine FlatFile Projekt Datenbank herunterladen. Eine Beispielimplementierung in Anlehnung an die FlatFileDB von H.Wiledal

PHP mit JavaScript aufrufen

Möchten Sie einen Log-Mechanismus entwickeln den Sie leicht in jedes PICO Template einbinden können, dann ist JavaScript und PHP ideal dafür.

Kleinster PHP Template Parser mit Heredoc Syntax der Welt

Das ist die kleinste PHP-Template-Engine bzw der kleinste Template-Parser in PHP, der mit Heredoc Syntax arbeitet. Die Heredoc Syntax ist ideal für kleine Prototypen.

PHP mit JavaScript aufrufen

Möchten Sie einen Log-Mechanismus entwickeln den Sie leicht in jedes PICO Template einbinden können, dann ist JavaScript und PHP ideal dafür.

Die richtige Wahl der Templatesprache Templating Tipps

In welcher Schreibweise sollten Sie CMS Templates erstellen? Gemischt HTML und PHP oder doch lieber waschechtes PHP? Dieser Beitrag erleichtert den Einstieg.

Ein neues Datenbanfeld für WonderCMS in der json-DB anlegen

Mit diesem Trick legen Sie neue Datenbank-Felder in der JSON-Datenbank des WonderCMS vollkommen automatisiert an - mit nur einer Codezeile im WonderCMS Theme.

th3_alpha.php im WordPress CMS Log und die Beudeutung

Das WordPress Plugin steht im Verdacht Malware zu enthalten. In unterschiedlichen Foren im Netzt sind dazu widersprüchliche Infos zu finden - es ist abzuwarten

Was ist yamlCMS - yamlCMS ist nicht zu hacken! Glauben Sie nicht?

yamlCMS ist mein Beitrag und meine eigene Vorstellung an eine sichere Webseite auf Basis eines Flat File CMS mit lesbarer Datenbankstruktur ohne 'Firlefanz'.


Meta: Instagram CMSWorkbench.de GIMP-Handbuch.de Kontakt Impressum Datenschutz