1x bewertet

Cutenews - Anti Spam (1)

von Papierherz  |  18.11.2009 um 00:12 h
Skriptverwendung
Typ: Skriptverwendung
Stufe:Einfach Mittelmäßig
Zuallererst Code sowie original Anleitung zum Einbau stammen aus dem CutePHP Forum, ich hab die Anleitung nur übersetzt (:

Was Du brauchst:
PHP fähigen Webspace
Einen FTP Zugang
Cutenews


In diesem Tut möchte ich euch erklären wie ihr ein einfachen Spamschutz in eurer CN einbauen könnt, eure Besucher müssen bevor der Kommentar hinzugefügt wird ein Wort ausfüllen in unseren Fall nun "Hello".

Tip am Rande : Drück in eurem Editor Strg + H um die entsprechende Codes zu suchen ;)

o1. Öffnet die shows.inc.php in eurem inc Verzeichnis, WICHTIG macht vorher eine Sicherrungskopie dieser Datei

Findet :

$name = trim($name);
$mail = trim($mail);


Setzt dies darunter :

$new = trim($_POST[′new′]);

Findet :

if( strlen($name) > 50 ){
echo"<div style=\"text-align: center;\">Your name is too long!</div>";
$CN_HALT = TRUE;
break 1;
}


Setzt dies darunter :

if( strlen($new) > 50 ){
echo"<div style=\"text-align: center;\">Your write too long!</div>";
$CN_HALT = TRUE;
break 1;
}


Das "Your write too long!" könnt in in was auch immer ihr wollt ändern (;

Findet :

$comments = replace_comment("add", $comments);
$name = replace_comment("add", preg_replace("/\n/", "",$name));
$mail = replace_comment("add", preg_replace("/\n/", "",$mail));


Setzt darunter :

$new = replace_comment("add", preg_replace("/\n/", "",$new));

Findet :

Password: <input type=\"password\" name=\"password\" />

Fügt dies darunter ein :

<input type=\"hidden\" name=\"new\" value=\"$new\" />

Findet (das letze mal) :

if($name == " " or $name == ""){
echo("<div style=\"text-align: center;\">You must enter name.<br />
<a href=\"java script:history.go(-1)\"> go back </a> </div>");
$CN_HALT = TRUE;
break 1;
}


Setzt darunter :

if($new == "Hello" or $new == "hello" ){ $ok = TRUE;}
else
{ echo("<div style=\"text-align: center;\"> You must type <b>Hello</b>.<br /> <a href=\"javascript:history.go(-1)\"> go back </a> </div>");
$CN_HALT = TRUE;
break 1;
}


Möchtet ihr ein anderes als Wort als Hello benutzen müsst ihr es nun in diesem Codeschnipsel ändern ˆˆ

Nun seid ihr fertig mit der shows.inc.php, bevor ihr speichert vergewissert euch das javascript keine Leerzeichen wie zb. hier hat : java script:history.go(-1)

o2. Loggt euch in euer CN ein und geht auf Edit Templates, öffnet Add comment form und fügt diesen Code ein (zb. Nach dem Name & Email Feld)

<tr>
<td>Say <b>Hello</b> :</td>
<td><input type="text" name="new"></td>
</tr>


Und ein letztes mal, solltet ihr ein anderes Wort als Hello verwenden müsst ihr es hier noch einmal anpassen.

Ich hoffe es hat alles geklappt und eure Seite bleibt Spamfrei :)



2 Kommentare




miss.jana

Das funktioniert nicht :(
am 23.09.2010 um 17:39 Uhr


Papierherz

Da Giatu ja mal Probleme mit den Gänsefüßchen (") hatte, liegt das Problem glaube ich daran das nun im Code vor jedem ein Backslash (\) ist.
am 27.09.2010 um 23:24 Uhr