Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Php - Formular mit Captcha und E-Mailadressen verschlüsselung

Frage Entwicklung PHP

Mitglied: Kirus22

Kirus22 (Level 1) - Jetzt verbinden

24.12.2008, aktualisiert 26.12.2008, 6426 Aufrufe, 4 Kommentare

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...
01.
<?php 
02.
// Session starten 
03.
session_start(); 
04.
 
05.
// Variablen initialisieren 
06.
$NameFehler = $EmailFehler = $NachrichtFehler = $CaptchaFehler = FALSE; 
07.
$Fehlerfrei = TRUE; 
08.
 
09.
// Formular wurde abgeschickt 
10.
if (isset( $_POST['senden'] )) 
11.
12.
	// Felder auf Inhalt pruefen 
13.
	if (strlen( trim( $_POST['name'] ) ) < 3) 
14.
15.
		$Fehlerfrei = FALSE; 
16.
		$NameFehler = TRUE; 
17.
18.
	if (strlen( trim( $_POST['email'] ) ) < 3) 
19.
20.
		$Fehlerfrei = FALSE; 
21.
		$EmailFehler = TRUE; 
22.
23.
	if (strlen( trim( $_POST['nachricht'] ) ) < 3) 
24.
25.
		$Fehlerfrei = FALSE; 
26.
		$NachrichtFehler = TRUE; 
27.
28.
	if (md5( $_POST['sicherheitscode'] ) != $_SESSION['captcha_code']) 
29.
30.
		$Fehlerfrei = FALSE; 
31.
		$CaptchaFehler = TRUE; 
32.
33.
	 
34.
	// Wenn alle Felder ausgefuellt wurden und der CAPTCHA-Code korrekt war 
35.
	if ($Fehlerfrei
36.
37.
		// Code zum Email-Versand ausfuehren 
38.
		echo "<h2>Das Formular wurde korrekt ausgefuellt!</h2>"
39.
40.
41.
?> 
42.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
43.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"
44.
<head> 
45.
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
46.
<title>Kontaktformular mit CAPTCHA</title> 
47.
 
48.
<style type="text/css"
49.
<!-- 
50.
body {font-size: 62.5%;} 
51.
fieldset {width: 235px; padding: 5px; border: solid 1px #CCCCCC;} 
52.
legend {font: bold 1.6em "Courier New", Courier, monospace; color: #0099FF;} 
53.
input, textarea {width: 220px;} 
54.
input.button {width: 150px; margin: 15px 0px 10px 40px; font: bold 1.2em Verdana, Arial, Helvetica, sans-serif;} 
55.
label {display: block; font: bold 1.1em Verdana, Arial, Helvetica, sans-serif; margin-top: 10px;} 
56.
img {margin: 15px 0 0 75px;} 
57.
--> 
58.
</style> 
59.
</head> 
60.
 
61.
<body> 
62.
<form id="kontaktformular" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
63.
	<fieldset> 
64.
    	<legend>Kontaktformular</legend> 
65.
        <label for="name"><?php echo $NameFehler ? '<span style="color: #FF0000;">Ihr Name:</span>' : 'Ihr Name:'; ?></label> 
66.
        	<input name="name" id="name" type="text" value="<?php echo $_POST['name']; ?>" /> 
67.
        <label for="email"><?php echo $EmailFehler ? '<span style="color: #FF0000;">Ihre Email:</span>' : 'Ihre Email:'; ?></label> 
68.
        	<input name="email" id="email" type="text" value="<?php echo $_POST['email']; ?>" /> 
69.
        <label for="nachricht"><?php echo $NachrichtFehler ? '<span style="color: #FF0000;">Ihre Nachricht:</span>' : 'Ihre Nachricht:'; ?></label> 
70.
        	<textarea rows="15" name="nachricht" id="nachricht"><?php echo $_POST['nachricht']; ?></textarea> 
71.
        <img src="captcha.php" alt="Sicherheitscode" title="Sicherheitscode" width="80" height="25" /> 
72.
        <label for="sicherheitscode"><?php echo $CaptchaFehler ? '<span style="color: #FF0000;">Bitte Sicherheitscode eingeben:</span>' : 'Bitte Sicherheitscode eingeben:'; ?></label> 
73.
        	<input name="sicherheitscode" id="sicherheitscode" type="text" /> 
74.
        <input name="senden" id="senden" type="submit" value="Absenden" class="button" /> 
75.
         
76.
	</fieldset> 
77.
</form> 
78.
</body> 
79.
</html>
Ende Skript - Kontakformular.php
01.
###############################Start Skript - Captcha.php########################################### 
02.
<?php 
03.
// Session starten 
04.
session_start(); 
05.
// Alten CAPTCHA-Code aus der Session loeschen 
06.
unset( $_SESSION['captcha_code'] ); 
07.
 
08.
// Das Cachen der Grafik verhindern 
09.
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); 
10.
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" ); 
11.
header( "Cache-Control: no-store, no-cache, must-revalidate" ); 
12.
header( "Cache-Control: post-check=0, pre-check=0", false ); 
13.
header( "Pragma: no-cache" ); 
14.
 
15.
// Dem Browser mitteilen das es sich hierbei um ein JPG handelt. 
16.
header( 'Content-type: image/jpeg' ); 
17.
 
18.
// Sicherheitscode generieren 
19.
$AlphaNumerischerString = "ABCDEFGH2345689"
20.
$ZufallString1 = substr( str_shuffle( $AlphaNumerischerString ), 0, 2 ); 
21.
$ZufallString2 = substr( str_shuffle( $AlphaNumerischerString ), 0, 2 ); 
22.
$ZufallString3 = substr( str_shuffle( $AlphaNumerischerString ), 0, 2 ); 
23.
$ZufallStringKomplett = $ZufallString1.$ZufallString2.$ZufallString3
24.
 
25.
// Sicherheitscode in der Session speichern 
26.
$_SESSION['captcha_code'] = md5( $ZufallStringKomplett ); 
27.
 
28.
// Grafik erzeugen und an den Browser senden 
29.
$Schriftarten = array( "zachary.ttf", "mtcorsva.ttf", "gilligan.ttf"); 
30.
$Bilddatei = imagecreatefrompng( "hintergrund.png" ); 
31.
$TextFarbe1 = imagecolorallocate( $Bilddatei, 0, 125, 0 ); 
32.
$TextFarbe2 = imagecolorallocate( $Bilddatei, 130, 70, 90 ); 
33.
$TextFarbe3 = imagecolorallocate( $Bilddatei, 180, 90, 190 ); 
34.
imagettftext( $Bilddatei, 12, 15, 3, 24, $TextFarbe1, $Schriftarten[0], $ZufallString1 ); 
35.
imagettftext( $Bilddatei, 16, 0, 26, 15, $TextFarbe2, $Schriftarten[1], $ZufallString2 ); 
36.
imagettftext( $Bilddatei, 14, -20, 53, 18, $TextFarbe3, $Schriftarten[2], $ZufallString3 ); 
37.
imagejpeg( $Bilddatei ); 
38.
 
39.
// Grafik zerstoeren und Speicher freigeben 
40.
imagedestroy( $Bilddatei ); 
41.
?> 
42.
 
43.
###############################Ende Skript - Captcha.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
Mitglied: masterG
26.12.2008 um 11:41 Uhr
Hab ich das richtig verstanden du willst nur die emailadressen replacen.
Bitte warten ..
Mitglied: Arano
27.12.2008 um 11:30 Uhr
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
Bitte warten ..
Mitglied: Kirus22
27.12.2008 um 12:19 Uhr
Hallo,

danke schon mal für die Antworten. @Arano Hmm die Daten sollten natürlich nicht verfallen Ich hab mir jetzt überlegt, ich realisiere das Ganze jetzt einfach mit einem Mailto Link. Nur wie kann ich die eingegebenen Daten dem Mailto Link mitschicken? Wie z.b. Nachricht, Email Adresse etc. ? Und dann noch am besten mit Captcha Abfrage vorher? Hat jemand ne Idee?

Gruß Kirus22
Bitte warten ..
Mitglied: Arano
27.12.2008 um 12:47 Uhr
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
Bitte warten ..
Ähnliche Inhalte
PHP
Verschlüsselung PHP
Frage von gamerffPHP4 Kommentare

Hallo Forum, da ich noch nicht so gut im PHP Programmieren bin benötige ich bitte eure Hilfe. Ich brauch ...

Microsoft Office
Regel für Alias E-Mailadressen
gelöst Frage von ronibooniMicrosoft Office5 Kommentare

Hallo Alle zusammen, in meinem Office 365 Konto habe ich verschiedene Alias-Mailadressen hinterlegt. In Outlook habe ich dann verschiedene ...

Exchange Server
Namensauflösung bei E-Mailadressen
gelöst Frage von sunicsExchange Server1 Kommentar

Hallo zusammen, Wir haben einen Exchange Server 2013 CU9 auf Windows 2012 R2 SP1 im Einsatz. Bei einem Mobile ...

PHP
PHP Problem mit Formular
gelöst Frage von vServerPHP6 Kommentare

Hallo, ich habe ein Formular jedoch ein Problem das später nicht alle Felder weitergegeben werden? und hier hab ich ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 18 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 20 StundenSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte16 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...

Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.