Formular absenden auch ohne Captcha-Eingabe möglich

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Formular absenden auch ohne Captcha-Eingabe möglich

Beitragvon norio » 24.10.2009, 15:08

Hallo Leute!
Vielleicht kann mir einer helfen, obwohl ein ähnliches Problem schon mal behandelt wurde.
Ich hab das Rechencaptcha eingerichtet und es funktioniert. Aber man kann das Formular auch ohne die Captchaeingabe versenden.

http://rameyer.ch/mailform4a.htm

http://rameyer.ch/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);
?>
norio
 
Beiträge: 1
Registriert: 23.10.2009, 21:39

Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron