ich hab aber z.B. hier captcha das ein festes Hintergrundbild hat und da wird dann per php eine zufällige Zahlen- und Buchstabenkombination "drauf geschrieben"
Hier mal die Anleitung zum erstellen. Hab das von SLJ bekommen
Die Anleitung
flooding unterbinden mit sicherheitcode
das ganze besteht aus 4 dateien:
1. das formular (form.php):
PHP:
<?php
session_start();
$errorC = TRUE;
$error = TRUE;
if(!empty($_POST))
{
if(!isset($_SESSION['secCheck']))
$errorC = TRUE;
if($_SESSION['secCheck'] != $_POST['secCheck'])
$errorC = TRUE;
else
$errorC = FALSE;
// weitere abhängige prüfungen, die
// $error auf TRUE oder FALSE setzen
// hier NUR testweise auf FALSE gesetzt
$error = FALSE;
}
if(!$errorC && !$error)
{
?>
<b>Ich bin drin!</b>
<?php
}
else
{
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<img src="secimg.php?<?php echo time();?>"><br>
<input name="secCheck" type="password"><br>
Sicherheitscode eingeben.<br>
<input type="submit">
</form>
<?php
}
?>
2. die bilderzeugende php datei (secimg.php):
PHP:
<?php
session_start();
$path = $_SERVER['DOCUMENT_ROOT'].'/pfad_zum_bild/';
function randPass($anz=6)
{
// zufälliges 6-stelliges passwort erzeugen
// es kann auch ein aderer wert als parameter
// im funktionsaufruf eingestellt werden
$arr1 = range("a","z");
$arr2 = array('ä','ö','ü','Ä','Ö','Ü','ß');
$arr3 = range(0,9);
$arr4 = range("A","Z");
$arr = array_merge($arr1,$arr2,$arr3,$arr4);
$pass = '';
srand((float) microtime() * 10000000);
$rand_keys = array_rand($arr, $anz);
for($i=0; $i<$anz; $i++)
{
$pass .= $arr[$rand_keys[$i]];
}
return $pass;
}
$_SESSION['secCheck'] = $secCode = randPass();
$im = imagecreatefromjpeg($path.'sec.jpg');
$font = $path.'verdanab.ttf';
$fontSize = 12;
$fontColor = imagecolorallocate($im, 120, 120, 120);
imagettftext($im, $fontSize, 5, 18, 22, $fontColor, $font, $secCode);
header("Content-Type: image/jpeg");
imagejpeg($im,"",100);
imagedestroy($im);
3. das basisbild

(sec.jpg)
4. dem font
das script erzeugt bei jedem formularaufruf einen zufällig erzeugten 6-stelligen code, der in das erzeugte bild und in eine session-var geschrieben wird. beim absenden des formulars wird nun geprüft, ob der code in der session-var mit der usereingabe übereinstimmt. haben wir eine fehlerhafte eingabe, beginnt der spass von vorn.
das ist natürlich kein kompletter seitenschutz, sollte aber jedem einen ansatz bieten, so etwas in seine formulare zu integrieren.
have fun.