Anleitung: Im Blog Kommentare von Gästen zulassen

Begonnen von k00ni, 27. Juni 2007, 09:22:03

Vorheriges Thema - Nächstes Thema

k00ni

Hallo,
nachfolgend eine kurze Anleitung, wie man seinen Blog (pSys) für Gästekommentare öffnen kann. Dazu noch eine Captcha-Abfrage, damit der Spam gleich von vorherein unterbunden wird.
Meinungen und Anregungen sind wie immer willkommen /uploads/emoticons/icon_e_smile.gif.4a0acefcb917340d2c82e5239c009e6e.gif\" alt=\":)\" />
 
Gästen den Zugriff auf die Kommentarfunktion gewähren
In der config.inc.php (Hauptordner/blog/) ca. in Zeile 12 folgendes einfügen
 

// Gäste können Kommentare absetzen (true = ja, false = nein)
$B_pblog_allow_guest_com = true;

 
 
Dazu noch in der blogkom.php ca. in Zeile 15 folgende Zeile
 

require_once ($pdir.\"/login.inc.php\");

 
 
durch folgende ersetzen
 

// Wenn man Gästen den Zugriff gestattet, dann wird die Abfrage der Userdaten
// nicht durchgeführt.
if ($B_pblog_allow_guest_com == false) require_once ($pdir.\"/login.inc.php\");

 
 
Zusammenfassung: Nun ist es möglich, dass Gäste Kommentare zu Blogeinträgen schreiben können. Dies ist kann man wieder abschalten, in dem man in der config.inc.php bei der Variable $B_pblog_allow_guest_com einfach statt true, false hinschreibt.
 
Sicherheitsabfrage implementieren, um Spam auszuschließen
Viel braucht man hier nicht zu tun. Powie bindet beim Laden der Systemdaten immer die Captcha-Datei mit ein. Man muss sie nur nutzen.  /uploads/emoticons/icon_e_biggrin.gif.1a84f5257b36e14b36d04985314f877f.gif\" alt=\":-D\" />
Dazu setzt man in der blogkom.php ca. in Zeile 140 nach
 


           

 
 
folgendes ein
 


   
 
          Sicherheitscode:
 
           Geben Sie hier ein, was Sie auf dem Bild unten sehen.
          /captcha.php\" border=\"0\" alt=\"captcha\" title=\"Sicherheitscode\" align=\"left\">
 

 
 
Dies fügt die Sicherheitsabfrage ein. Aber nur, wenn man auch Gästen den Zugriff erlaubt, sonst passiert garnichts. Verhindert somit, dass angemeldete User mit unnötigen Eingaben gequält werden. /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" />
 
Wir bleiben in der Datei. Sprung zurück ca. in Zeile 42 und dort nach
 

if ( checkSpam($text) ) {
      msgbox(\"Der Spamfilter erlaubt diesen Eintrag nicht.\");
      require(\"../fuss.php\");
exit;
   }

 
 
folgendes schreiben
 

// Captcha-Code abfragen
   if ($_POST [\'ccode\'] != $_SESSION [\'pcaptchacode\'])
   {
      msgbox(\"Der eingegebene Sicherheitscode ist falsch.\");
   }
   else
   {

 
 
und dann noch ca. in Zeile 75 nach
 

if (!$ergebnis  = mysql_query($sqlbefehl, $serverid))
        echo mysql_error($serverid);
    }
}

 
 
ein
 

 } 

 
 
schreiben.
Zusammenfassung: Dies implementiert die Sicherheitsabfrage und blockt bei einer Nicht - bzw. Fehleingabe einfach das Absenden des Kommentars. Man könnte hier bspw. den Vorgang komplett abbrechen, aber ich nehme an, manchmal vertippt man sich einfach und muss dann sein Kommentar nochmal komplett eingeben. Und da kommen wir gleich zum letzten Teil.
 
Erhalten der Gästedaten (Name, Kommentar) nach auftretenden Fehlern
Damit ein Gast bei einem auftretenden Fehler nicht alles neu eingeben muss, brauchen wir nur 2 Stellen zu bearbeiten. Ein Segen, wenn man gerne viel schreibt.
In der Datei blogkom.php ca. in Zeile 130 folgende Zeile
 


\" maxlength=40>( IP: )

 
 
durch folgende ersetzen
 


        Autor:
       \" maxlength=40> ( IP: )

 
 
Zusammenfassung: Damit prüfe ich einfach, ob bereits ein Username in der Session vorliegt, also ob der User angemeldet ist. Liegt keiner vor, so ist auch der User nicht angemeldet. Dann zeige ich dort einfach den vorher reingeschrieben Namen an. Dies funktioniert also nur, wenn der User das Formular schonmal abgesendet hat und ein Fehler auftrat.


Warum sowas immer so lang werden muss.  /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" />
 
Grüße

all your base are belong to us / Discord