Php - Formular mit Captcha und E-Mailadressen verschlüsselung
Hallo zusammen, und frohes Fest!
Ich möchte mir gerne ein Kontaktformular basteln, welches ein Captcha beinhaltet und die Empfänger E-Mailadresse verschlüsselt (gegen SPAM). Ich habe auch schon ein Skript dafür gefunden nur leider weiß ich nicht, wie ich da meine E-Mail Adresse hinterlegen soll, wenn ich auf den Button Absenden klicke...
Ende Skript - Kontakformular.php#################################################
Die Empfänger E-Mailadresse sollte in Javaskript Format sein Ala:
<script type="text/javascript">pcatwq="o74o65o73o74o40o74o65o73o74o2eo64o65";document.write(unescape(pcatwq.replace(/o/g, "%")));</script>
Wie kann ich das mit dem Skript realisieren? Für alle Antworten danke ich im Voraus! Frohes Fest!
Gruß Kirus22
Ich möchte mir gerne ein Kontaktformular basteln, welches ein Captcha beinhaltet und die Empfänger E-Mailadresse verschlüsselt (gegen SPAM). Ich habe auch schon ein Skript dafür gefunden nur leider weiß ich nicht, wie ich da meine E-Mail Adresse hinterlegen soll, wenn ich auf den Button Absenden klicke...
<?php
// Session starten
session_start();
// Variablen initialisieren
$NameFehler = $EmailFehler = $NachrichtFehler = $CaptchaFehler = FALSE;
$Fehlerfrei = TRUE;
// Formular wurde abgeschickt
if (isset( $_POST['senden'] ))
{
// Felder auf Inhalt pruefen
if (strlen( trim( $_POST['name'] ) ) < 3)
{
$Fehlerfrei = FALSE;
$NameFehler = TRUE;
}
if (strlen( trim( $_POST['email'] ) ) < 3)
{
$Fehlerfrei = FALSE;
$EmailFehler = TRUE;
}
if (strlen( trim( $_POST['nachricht'] ) ) < 3)
{
$Fehlerfrei = FALSE;
$NachrichtFehler = TRUE;
}
if (md5( $_POST['sicherheitscode'] ) != $_SESSION['captcha_code'])
{
$Fehlerfrei = FALSE;
$CaptchaFehler = TRUE;
}
// Wenn alle Felder ausgefuellt wurden und der CAPTCHA-Code korrekt war
if ($Fehlerfrei)
{
// Code zum Email-Versand ausfuehren
echo "<h2>Das Formular wurde korrekt ausgefuellt!</h2>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Kontaktformular mit CAPTCHA</title>
<style type="text/css">
<!--
body {font-size: 62.5%;}
fieldset {width: 235px; padding: 5px; border: solid 1px #CCCCCC;}
legend {font: bold 1.6em "Courier New", Courier, monospace; color: #0099FF;}
input, textarea {width: 220px;}
input.button {width: 150px; margin: 15px 0px 10px 40px; font: bold 1.2em Verdana, Arial, Helvetica, sans-serif;}
label {display: block; font: bold 1.1em Verdana, Arial, Helvetica, sans-serif; margin-top: 10px;}
img {margin: 15px 0 0 75px;}
-->
</style>
</head>
<body>
<form id="kontaktformular" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<fieldset>
<legend>Kontaktformular</legend>
<label for="name"><?php echo $NameFehler ? '<span style="color: #FF0000;">Ihr Name:</span>' : 'Ihr Name:'; ?></label>
<input name="name" id="name" type="text" value="<?php echo $_POST['name']; ?>" />
<label for="email"><?php echo $EmailFehler ? '<span style="color: #FF0000;">Ihre Email:</span>' : 'Ihre Email:'; ?></label>
<input name="email" id="email" type="text" value="<?php echo $_POST['email']; ?>" />
<label for="nachricht"><?php echo $NachrichtFehler ? '<span style="color: #FF0000;">Ihre Nachricht:</span>' : 'Ihre Nachricht:'; ?></label>
<textarea rows="15" name="nachricht" id="nachricht"><?php echo $_POST['nachricht']; ?></textarea>
<img src="captcha.php" alt="Sicherheitscode" title="Sicherheitscode" width="80" height="25" />
<label for="sicherheitscode"><?php echo $CaptchaFehler ? '<span style="color: #FF0000;">Bitte Sicherheitscode eingeben:</span>' : 'Bitte Sicherheitscode eingeben:'; ?></label>
<input name="sicherheitscode" id="sicherheitscode" type="text" />
<input name="senden" id="senden" type="submit" value="Absenden" class="button" />
</fieldset>
</form>
</body>
</html>
###############################Start Skript - Captcha.php###########################################
<?php
// Session starten
session_start();
// Alten CAPTCHA-Code aus der Session loeschen
unset( $_SESSION['captcha_code'] );
// Das Cachen der Grafik verhindern
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", false );
header( "Pragma: no-cache" );
// Dem Browser mitteilen das es sich hierbei um ein JPG handelt.
header( 'Content-type: image/jpeg' );
// Sicherheitscode generieren
$AlphaNumerischerString = "ABCDEFGH2345689";
$ZufallString1 = substr( str_shuffle( $AlphaNumerischerString ), 0, 2 );
$ZufallString2 = substr( str_shuffle( $AlphaNumerischerString ), 0, 2 );
$ZufallString3 = substr( str_shuffle( $AlphaNumerischerString ), 0, 2 );
$ZufallStringKomplett = $ZufallString1.$ZufallString2.$ZufallString3;
// Sicherheitscode in der Session speichern
$_SESSION['captcha_code'] = md5( $ZufallStringKomplett );
// Grafik erzeugen und an den Browser senden
$Schriftarten = array( "zachary.ttf", "mtcorsva.ttf", "gilligan.ttf");
$Bilddatei = imagecreatefrompng( "hintergrund.png" );
$TextFarbe1 = imagecolorallocate( $Bilddatei, 0, 125, 0 );
$TextFarbe2 = imagecolorallocate( $Bilddatei, 130, 70, 90 );
$TextFarbe3 = imagecolorallocate( $Bilddatei, 180, 90, 190 );
imagettftext( $Bilddatei, 12, 15, 3, 24, $TextFarbe1, $Schriftarten, $ZufallString1 );
imagettftext( $Bilddatei, 16, 0, 26, 15, $TextFarbe2, $Schriftarten[1], $ZufallString2 );
imagettftext( $Bilddatei, 14, -20, 53, 18, $TextFarbe3, $Schriftarten[2], $ZufallString3 );
imagejpeg( $Bilddatei );
// Grafik zerstoeren und Speicher freigeben
imagedestroy( $Bilddatei );
?>
###############################Ende Skript - Captcha.php#################################################
<script type="text/javascript">pcatwq="o74o65o73o74o40o74o65o73o74o2eo64o65";document.write(unescape(pcatwq.replace(/o/g, "%")));</script>
Wie kann ich das mit dem Skript realisieren? Für alle Antworten danke ich im Voraus! Frohes Fest!
Gruß Kirus22
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104712
Url: https://administrator.de/contentid/104712
Ausgedruckt am: 26.11.2024 um 16:11 Uhr
4 Kommentare
Neuester Kommentar
Wegen dem Email dingen, schau dir mal PHP-Manual - function.bin2hex an, damit solltest du was machen können.
Aber bevor du dich darum kümmerst, was soll den mit den eingegebenen Daten passieren ? Bis jetzt werden sie einfach verfallen nachdem das Formular abgeschickt wurde (Zeile 38. - das ist alles was passiert), die sollten doch sicher irgendwo gespeichert werden.
TIPP: Ist die Ausgabe der Email-Adresse so wichtig das dies sein muss, ansonsten kann man sie auch einfach weg lassen.
Gruß Arano
Frohe Weihnachten
Aber bevor du dich darum kümmerst, was soll den mit den eingegebenen Daten passieren ? Bis jetzt werden sie einfach verfallen nachdem das Formular abgeschickt wurde (Zeile 38. - das ist alles was passiert), die sollten doch sicher irgendwo gespeichert werden.
TIPP: Ist die Ausgabe der Email-Adresse so wichtig das dies sein muss, ansonsten kann man sie auch einfach weg lassen.
Gruß Arano
Frohe Weihnachten
Da könnt man sicher etwas mit Javascript machen, ABER was geschieht bei denen die JS deaktiviert haben (mache ich auch immer öfters).
Mal abgesehen davon, das bei der Verwendung des "mailto" auf dem Clientrechner (also beim Besucher) ein Email-Client installiert und vor allem konfiguriert sein MUSS !
Das hier wird dich wohl auch interessieren: SelfHTML - Email-Verweise
~Arano
Mal abgesehen davon, das bei der Verwendung des "mailto" auf dem Clientrechner (also beim Besucher) ein Email-Client installiert und vor allem konfiguriert sein MUSS !
Das hier wird dich wohl auch interessieren: SelfHTML - Email-Verweise
~Arano