Hallo,
ich bin heute von einem Nutzer meiens Gästebuchs angeschrieben wurden, dass sein Gästebuch trotz aller Sicherheitsmechanismen von Spambots heimgesucht wird.
Ich habe, nachdem Captcha und Rechenaufgabe nichts gebracht haben, extra eine neue Version herausgebracht mit einer Sicherheitsfrage. Da muss man dann so einfache Fragen beantworten, wie "Welche Farbe hat eine Banane?" oder "Wie heißt unsere Bundeskanzlerin?". Ich hatte immer gedacht, dass das verhältnismäßig sicher ist, aber anscheinend wohl doch nicht.
Hier mal der entscheidende Code:
Wie gesagt, beim Captcha dachte ich mir noch: "Das können gute Spambots wohl auslesen". Aber dass die jetzt Fragen beantworten können, ist mir neu bzw. kann ich mir nicht erklären. Ich kann mir nicht vorstellen, dass die extra für mein Gästebuch programmiert wurden und auf die Fragen abgerichtet sind. Deswegen dachte ich mir, dass vielleicht etwas im Code selbst falsch ist.
Hier übrigens mal eine Demo: klick mich
Vielleicht weiß ja von euch jemand Rat.
MfG Icy
ich bin heute von einem Nutzer meiens Gästebuchs angeschrieben wurden, dass sein Gästebuch trotz aller Sicherheitsmechanismen von Spambots heimgesucht wird.
Ich habe, nachdem Captcha und Rechenaufgabe nichts gebracht haben, extra eine neue Version herausgebracht mit einer Sicherheitsfrage. Da muss man dann so einfache Fragen beantworten, wie "Welche Farbe hat eine Banane?" oder "Wie heißt unsere Bundeskanzlerin?". Ich hatte immer gedacht, dass das verhältnismäßig sicher ist, aber anscheinend wohl doch nicht.
Hier mal der entscheidende Code:
PHP:
if (empty($autor)) { // wenn Autorfeld leer
echo "<p>".$error."! ".$ind_err_noname."</p>";
} elseif (empty($inhalt)) { // wenn Inhaltsfeld leer
echo "<p>".$error."! ".$ind_err_nocontent."</p>";
} elseif ($captcha_act == 1 and strtolower($sec) != strtolower($_SESSION['right'])) { // wenn Captcha-Code / Rechenaufgabe / Sicherheitsfrage falsch
echo "<p>".$error."! ".$ind_err_nocaptcha."</p>";
} elseif (strlen($inhalt) > $maxchars) { // wenn zu viele Zeichen
$toomuch = strlen($inhalt) - $maxchars;
echo "<p>".$ind_err_toomuch1." (".$toomuch.")".$ind_err_toomuch2."</p>";
} elseif ($time2-$time1 < 1 or $hiddenfield == "1" and $hidden != "") { // wenn Formular zu schnell ausgefüllt wird (Spambot)
die("<p>Spam!</p>");
} elseif ($flood == "1" and mysql_num_rows($userresult) and $sincelastpost <= $set['floodtime']) { // Floodschutz
$wait = $set['floodtime']-$sincelastpost;
echo "<p>".$error."! ".$ind_flood1." ".$wait." ".$ind_flood2."</p>";
} else {
// Eintrag abschicken
}
Wie gesagt, beim Captcha dachte ich mir noch: "Das können gute Spambots wohl auslesen". Aber dass die jetzt Fragen beantworten können, ist mir neu bzw. kann ich mir nicht erklären. Ich kann mir nicht vorstellen, dass die extra für mein Gästebuch programmiert wurden und auf die Fragen abgerichtet sind. Deswegen dachte ich mir, dass vielleicht etwas im Code selbst falsch ist.
Hier übrigens mal eine Demo: klick mich
Vielleicht weiß ja von euch jemand Rat.
MfG Icy