Nach einer kurzen Testphase ist der SpamProtector nunmehr einsatzbereit aufgrund der stark inkrementierenden Zahl an Spameinträgen (tw. fünf Versuche an einem Tag) musste dieser Test eingeführt werden, um den Administrationsaufwand so gering wie möglich zu halten. Dennoch ist sie tatsächlich eine sehr geringe Nutzbelastung, denn wer die kleine Rechenaufgabe einmal gelöst hat, dem wird ein Keks gegeben, der ihn als akzeptierten Nutzer ausweist und ihn von der erneuten Berechnung der Aufgabe erspart. Einige Codeschnipsel für die Verwendung mit Smarty.
// Einzubinden in eine zentrale PHP-Datei
if(isset($HTTP_COOKIE_VARS["spam"])) $smarty->assign('spam',NULL); // Standardtemplate
else $smarty->assign('spam',1);
// Beim Kommentieren
if( ( !isset($HTTP_COOKIE_VARS["spam"]) && $_POST["spamprotector"] != 1) )
echo "Rechenaufgabe lösen!";
...
// bei erfolgreichem Bestehen und Eintragen des Kommentars
setcookie("spam",1,time()+3600*24*140*1); // Cookie fr 140 Tage setzen
// Smarty-Template
{if $spam == 1}<a href="erklaerung.htm" onclick="window.open(this.href,
'SpamProtector','width=300,height=200'); return false">Right is</a>
<input name="spamprotector" id="answer1" value="1" type="radio">
<label for="answer1"> 1+1=2</label>
<input name="spamprotector"
id="answer2" value="2" type="radio"><label for="answer2"&gT;
1+1=3</label>
{/if}
Genutzt werden darf das Ganze, wie üblich, unter den Bedingungen der GPL. Eine namentliche Erwähnung würde mich sehr freuen.
Gute Idee!

nette idee, aber wers wirklich drauf anlegt, überträgt den besagten cookie einfach mit. wie wärs, wenn du vielleicht anstatt dem wert "1" einen hashwert aus dem browser des nutzers ermittelst oder irgendwas anderem. die ip natürlich nicht.
aber ansonsten ganz nett

Fabse, was sollte das bringen?
Die Erlaubnis zum Kommentareintrag wäre auch bei einem Spamscript gegeben, da bei einem beliebigen USER_AGENT auch immer ein korrekter Hashwert gebildet wird.
Natürlich, wer es speziell auf eine Seite abgesehen hat, wird immer einen Weg finden, sie vollzumüllen. Ich habe jedoch seit Einbau des SpamProtectors keinen Spameintrag mehr gesehen.
Danke, dass du Idee gut findest. Du darfst sie ja auch gerne selbst verwenden.
