2x bewertet

Cutenews Anti-Spam (2)

von Papierherz  |  18.11.2009 um 00:58 h
Skriptverwendung
Typ: Skriptverwendung
Stufe:Einfach Mittelmäßig
Wie immer stammen Code sowie original Anleitung zum Einbau aus dem CutePHP Forum ;)

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


Eure Besucher müssen bevor ihr Kommentar hinzugefügt werden kann ein "Wort" ausfüllen, dieses Wort ist eine zufällig erzeugte Kette aus Buchstaben und Nummern.

Wie das ganze zum Schluss aussieht könnt Ihr euch HIER ansehen, klickt einfach auf den Comment Link und aktualisiert die Seite ein paar mal. Ihr werdet sehen das sich nach jedem Refresh das "Wort" ändert.

Drück in eurem Editor Strg + H um die entsprechende Codes zu suchen


o1. Öffnet eure shows.inc.php (zu finden im inc Verzeichnis) [macht vorher eine Sicherrungskopie dieser Datei !]

Findet :
$mail = trim($mail);

Setzt darunter :
$test = trim($_POST[$_SESSION[′spam′]]);

Findet :
<input type=\"hidden\" name=\"ucat\" value=\"$ucat\" />

Setzt darunter :
<input type=\"hidden\" name=\"".$_SESSION[′spam′]."\" value=\"$test\" />

Findet :
$mail = replace_comment("add", preg_replace("/\n/", "",$mail));

Setzt darunter :
$test = replace_comment("add", preg_replace("/\n/", "",$test));

Findet :
if($name == " " or $name == ""){

Setzt darüber :
if($_SESSION[$_SESSION[′spam′]] == $test ) {$ok = TRUE;}
else
{ echo("<div style=\"text-align: center;\"> Your write too long!<br /> <a href=\"javascript:history.go(-1)\"> go back </a> </div>");
$CN_HALT = TRUE;
break 1;
}


Wichtig!:
Vergewissert euch das javascript keine Leerzeichen wie zb. hier hat : java script:history.go(-1)


Findet :
$template_form = str_replace("{smilies}", $smilies_form, $template_form);

Setzt darunter :
if( !isset($input_name) ){
function code($nc, $a=′abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0′) {
$l=strlen($a)-1; $r=′′;
while($nc-->0) $r.=$a{mt_rand(0,$l)};
return $r;
}
$input_name = code(10);
$_SESSION[′spam′] = $input_name;
$code = code(5);
$_SESSION[$input_name] = $code;
}
$template_form = str_replace("{smilies}", $smilies_form, $template_form);
$template_form = str_replace("{bot-inputname}", $_SESSION[′spam′] ,$template_form);
$template_form = str_replace("{bot-word}", $_SESSION[$_SESSION[′spam′]] ,$template_form);


Da es zu Verwechslungen kommen könnte habe ich indem Teil das kleine L (l) sowie das große i (I) entfernt


Nun seid ihr fertig mit der shows.inc.php ;)

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><small>Type <b>{bot-word}</b> :</small></td>
<td><small><input type="text" name="{bot-inputname}"> (anti-spam)</small></td>
</tr>


o3. Zum Abschluss öffnet die Datei in der ihr eurer Cutenews includet habt (für gewöhnlich die index.php) und fügt diesen Code ganz zu Anfang ein :

<?php session_start(); ?>

Beispiel :

<?php session_start(); ?>

<?PHP
include("header.php");
?>

<?PHP
include("cutenews/show_news.php");
?>

<?PHP
include("footer.php");
?>


Ich hoffe es hat alles geklappt und eure Seite bleibt Spamfrei Smilie



3 Kommentare




Sadako

Mh also ich habs jetzt nicht ausprobiert aber allein die Demoseite ist total zugespammt...klappt scheinbar doch nicht so toll :(
am 14.05.2010 um 20:35 Uhr


SunnyBeatz

Ähm *lol?*...du bietest ein Antispam für Cutenews aber deine Demoseite ist total zugespamt...und das MIT deinem Code da Smilie
Klappt dann wohl i-wie nich oder wie?
am 17.05.2010 um 09:26 Uhr


Papierherz

Ok shit happends, besuch die Demo Seite ja nie hab die nur im Juli 2009 angelegt und der erste Spam kam im Feb 2010 also naya, als ich damals den Code auf meinem Blog verwendet habe hatte ich nie Spam Probleme.
am 21.06.2010 um 18:02 Uhr