Bludit CMS

Bludit CMS Workbench - Codeschnipsel, um das eigene Bludit CMS anzupassen



Einfacher SPAM Schutz

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

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.




Empfehlungen


Eigenes Bludit Theme

So steuern Sie die Templatevorgabe in Beiträgen mit dem CMS Bludit. Sie können den Tamplatenamen bei der Erstellung von Beiträgen angeben.




Es wurden noch keine Kommentare verfasst, sei der erste!

About

Tipps. Tricks, Snippets, Hacks und Codings zum CMS Bludit, Automad, WordPress, Joomla, GetSimple, Typesetter, Nibbleblog oder den angesagten Template Engines wie Smarty.


Impressum - Datenschutz - Copyright - RSS - Kontakt

Leser heute

119