Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Antispamová ochrana formuláře

Zdravím lidičky, poradil by mi, prosím, někdo jak správně naprogramovat antispam formuláře?
na stránce:

http://klasdesign.cz/index.php/clanky/64-antispamo va-ochrana-formulare

jsem našel antispamovou ochranu pro formuláře s tímto zdrojákem:

<?

ob_start();

$font = 'fonts/arial.ttf';

$charset = '0123456789';

$code_length = 4;

$height = 20;

$width = 60;

$code = '';
for($i=0; $i < $code_length; $i++) {
$code = $code . substr($charset, mt_rand(0, strlen($charset) - 1), 1);
}

$font_size = $height * 0.7;
$image = @imagecreate($width, $height);
$background_color = @imagecolorallocate($image, 255, 255, 255);
$noise_color = @imagecolorallocate($image, 114, 114, 114);

for($i=0; $i < ($width * $height) / 4; $i++) {
@imageellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1,
$noise_color);
}

$text_color = @imagecolorallocate($image, 20, 40, 100);
@imagettftext($image, $font_size, 0, 7,17,
$text_color, $font , $code)
or die('Cannot render TTF text.');

header('Content-Type: image/png');
@imagepng($image) or die('imagepng error!');
@imagedestroy($image);

$_SESSION['AntiSpamImage'] = $code;
exit();

?>

Který je v samostatném souboru "antispam.php" a do zdrojáku formuláře
"form.php" jsem vložil tento jejich kód:

<img src="/antispam.php" alt="ochrana" />
<input type="text" name="ochrana" value="" />

a

if($_SESSION['AntiSpamImage']==$_POST['ochrana']){
echo 'Vyplneno v poradku'; }

po odeslání formuláře mým tlačítkem input type=submit se formulář odešle ale
neprovede kontrolu číselného vygenrovaného kódu.

Prosím o radu jak odeslat formulář aby kontrola číselného kódu byla provedena.

Děkuju moc každému za radu :-)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Antispamová ochrana nemusí být nutně captcha.. Způsobů je několik. Já jsem většinou uspěl např. s ko… poslední
Klinki 08.02.2009 21:13
Klinki

Antispamová ochrana nemusí být nutně captcha.. Způsobů je několik. Já jsem většinou uspěl např. s kontrolou času odeslání, skrytý input taky velice pomáhá (nejlépe ho skrýt pomocí CSS) a poslední dobou používám různé otázky na uživatele (např. zadám slovně příklad "Kolik je jedna + jedna" a do inputu uživatel vypíše číselně výsledek - je to přístupnější a hlavně to vezmou i prohlížeče pro zrakově postižené apod.)
Spamy také velice často využívají určitý textový pattern (obsahují jen odkazy, nebo text a spoustu odkazů atd..) takže je lze taky otestovat na výskyt těchto výrazů.

Zpět do poradny Odpovědět na původní otázku Nahoru