Umweltschutz

Captcha-Sicherheitsbild: Einbinden


Einbinden in das Kontaktformular bzw. in das Gästebuch:

Es sollte beim Sichern Ihrer Scripte jeweils das Captcha selbst sowie das jeweilige Eingabefeld angezeigt werden.

Quellcode für das Anzeigefeld des Bildes:

<img src="captcha/captcha.php" border="0" title="Sicherheitscode">

Quellcode für das Eingabefeld:

<input type="text" name="sicherheitscode" size="5">


Sie können es natürlich auch in eine Tabelle einbinden. Ein Beispiel in Form eines Kontaktformular sehen Sie unten:

<html><head><title>Captcha</title></head>
<body>
<form action=mailer.php method="POST">
<table>
<tr><td>Nachname</td><td><input type=text name=Nachname></td></tr>
<tr><td>Vorname</td><td><input type=text name=Vorname></td></tr>
<tr><td>Beruf</td><td><input type=text name=Beruf></td></tr>
<tr><td>Betreff</td><td><input type=text name=betr></td></tr>
<tr><td>E-Mail</td><td><input type=text name=mailaddi></td></tr>
<tr><td>Empf&auml;nger E-Mail-Adresse</td><td><input type=text name=empf></td></tr>

<tr>
<td><img src="/script_test/captcha.php" border="0" title="Sicherheitscode"></td>
<td><input type="text" name="sicherheitscode" size="5"></td>
</tr>

<tr><td colspan=2 align=middle><input type=submit value="abschicken"></td></tr>
</table>

</form>
</body>
</html>


Einbinden in das Mailerscript:

Es muss nun geprüft werden, ob der eingegebene Code im Formular identisch mit dem des Bildes/Captchas ist. Dies geschieht erst in dem Script, welches Sie per Formular aufrufen lassen. Unten sehen Sie ein Beispielcode, welcher die o.g. Sicherheitsvorkehrungen prüft.

<?
session_start();

if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam'])
{
unset($_SESSION['captcha_spam']);

$mail_empfaenger=$_POST['empf'];
$mail_absender=$_POST['mailaddi'];
$betreff=$_POST['betr'];
$text="Mein Name ist $_POST['Vorname'] $_POST['Nachname'], von Beruf bin ich $_POST['Beruf']";
mail($mail_empfaenger, $betreff, $text,"from:$mail_absender");

echo "Die E-Mail wurde erfolgreich versendet";

}else
{
die ("Der Sicherheitscode ist falsch!");
}
?>

Suche
in Titel
in Beschreibung