Gästebuch Spam Schutz
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anmelden
bau
bild
bot
buchstabe
code
einfaches rechen
ergebnis
gleichen ordner
gut fragen
hintergrundfarbe
http
nutz
operator
produkt
rand
rechen
url
vermeiden
zweite zahl
-
Hallo !
Ich baue gerade ein Gästebuch mit PHP.
Wie verhindere ich am besten Spam?
In meinem alten Gästebuch bekomme ich immer wieder Spameinträge. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mit Recaptcha kann man gut Spam vermeiden, ob das jetzt auch für Gästebücher geht weiß ich nicht.
http://www.google.com/recaptcha
Da kann man sich einfach mit der Goolge ID anmelden und los gehts.
Beitrag zuletzt geändert: 14.11.2010 10:37:40 von oepnv-bremen -
oepnv-bremen schrieb:
Mit Recaptcha kann man gut Spam vermeiden, ob das jetzt auch für Gästebücher geht weiß ich nicht.
http://www.google.com/recaptcha
Da kann man sich einfach mit der Goolge ID anmelden und los gehts.
Ich habe an ein einfaches Rechen-Captcha gedacht
Schützt das denn vor Spam?
Recaptcha gefällt mir nicht so -
Hier habe ich einen PHP Code gefunden:
Rechen Captcha PHP Script
Die rechen-captcha.php sollte am besten in den gleichen Ordner wie das Gästebuch- oder Kontaktformular ist.
rechen-captcha.php
<?php session_start(); unset($_SESSION['rechen_captcha_spam']); $zahl1 = rand(10,20); //Erste Zahl 10-20 $zahl2 = rand(1,10); //Zweite Zahl 1-10 $operator = rand(1,2); // + oder - if($operator == "1"){ $operatorzeichen = " + "; $ergebnis = $zahl1 + $zahl2; }else{ $operatorzeichen = " - "; $ergebnis = $zahl1 - $zahl2; } function encrypt($string, $key) { $result = ''; for($i=0; $i<strlen($string); $i++) { $char = substr($string, $i, 1); $keychar = substr($key, ($i % strlen($key))-1, 1); $char = chr(ord($char)+ord($keychar)); $result.=$char; } return base64_encode($result); } $_SESSION['rechen_captcha_spam'] = encrypt($ergebnis, "29jfkd921"); //Key $_SESSION['rechen_captcha_spam'] = str_replace("=", "", $_SESSION['rechen_captcha_spam']); $rechnung = $zahl1.$operatorzeichen.$zahl2." = ?"; $img = imagecreatetruecolor(80,15); $schriftfarbe = imagecolorallocate($img,13,28,91); $hintergrund = imagecolorallocate($img,162,162,162); imagefill($img,0,0,$hintergrund); imagestring($img, 3, 2, 0, $rechnung, $schriftfarbe); header("Content-type: image/png"); imagepng($img); imagedestroy($img); ?>
Der Key 29jfkd921 kann/sollte geändert werden, es kann eine beliebige Zahlenkette verwendet werden.
Quelle: http://www.stoppt-den-spam.info/webmaster/captcha-tutorial/rechen-cpatcha/captcha-php-script.html
Beitrag zuletzt geändert: 14.11.2010 13:25:55 von nikic -
Schau dir mal http://www.bot-trap.de an.
-
Alternativ zu einer reinen Rechentrap kann man auch gut Fragen mit Text stellen, die man durch leichtes Hingucken auf der Seite beantworten kann, die ein Bot aber nicht versteht. So zum Beispiel "Welche Hintergrundfarbe hat diese Seite?"
Allgemein gilt aber, dass man besser schützt, wenn man verschiedene Spamprotectoren gleichzeitig nutzt.
Außerdem empfehle ich htmlentities(). Das schützt zumindest vor wüster Zerstörung. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage