thesecretboy Geschrieben 31. Mai 2006 Teilen Geschrieben 31. Mai 2006 Hallo zusammen, ich bekomme über ein Kontaktformular meiner Seite komische Mails. Die sehen in etwa so aus: Die nachfolgende Nachricht wurde über www.meine-domain.de (Kontaktformular) versendet: Website: own7648@meine-domain.de Reset: own7648@meine-domain.de Name: own7648@meine-domain.de Firma: own7648@meine-domain.de Ort: own7648@meine-domain.de PLZ: own7648@meine-domain.de Telefon: own7648@meine-domain.de Vorname: breeze Content-Type: multipart/alternative; boundary=bfe8c8b6d0f75481e79d3b634b2c28ec MIME-Version: 1.0 Subject: f r medals bcc: DanNicMan@aol.com This is a multi-part message in MIME format. --bfe8c8b6d0f75481e79d3b634b2c28ec Content-Type: text/plain; charset=\"us-ascii\" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit in the evening. e was only ill three days the two last he passed in delirium he raised himself in bed, and shook the bed posts was obliged --bfe8c8b6d0f75481e79d3b634b2c28ec-- . Telefax: own7648@meine-domain.de Strasse: own7648@meine-domain.de Email: own7648@meine-domain.de Nachricht: own7648@meine-domain.de Datum/Zeit: 26.05.2006 15:31:41 Nun habe ich mich mal ein bischen belesen und gesehen, dass solche Formulare, die die einfach Mail-Funktion nutzen (wie meines auch), sehr gern als SPAM-Schleuder mißbraucht werden. Auf den meissten Seiten ist aber zu lesen, dass als EMail-Absender immer eine Variable aus dem Eingabefeld der Email-Adresse benutzt wird, um die Mail beim Empfänger mit der korrekten Absender-Adresse ankommen zu lassen. Ich habe dies bei mir aber nicht so gelöst und würde gern wissen, ob ich dennoch als SPAM-Schleuder mißbraucht werden könnte oder ob ich durch die Angabe fester Adressen "sicher" bin. Hier mal der Code meines Eingabeformulares: <?php $mySite = "kontakt"; ?> <html> <head> <?php require_once('_includes/meta.php'); ?> <body background="images/bg_site.gif"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <table width="100%" border="0" cellspacing="0" height="100%"> <tr> <td colspan="3" class="menu"> </td> </tr> <tr> <td height="570" class="menu"> </td> <td width="950" height="570"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#547DB1"> <td colspan="3" height="101"> <div align="center"><font size="1" color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><b> <?php require_once('_includes/header.php'); ?> </b></font></div> </td> </tr> <tr> <td width="188" valign="top" height="434" bgcolor="#547DB1"> <?php require_once('_includes/menu.php'); ?> </td> <td height="434" colspan="2"> <table width="100%" border="0" cellspacing="3" height="434" background="images/bg_main.gif" style="background-position: top; background-repeat: repeat-x;"> <tr> <td valign="top" class="right" width="10" rowspan="5" height="100%"> </td> <td valign="top" class="right" width="98%" rowspan="5" height="394"><br> Kontakt:<br> <br> <table border="0" cellpadding="0" cellspacing="0" width="633"> <form action="kontakt_auswerten.php" method="post"> <tr> <td width="157" valign="bottom" height="18"><font size="2" face="Tahoma">Anrede</font></td> <td width="476" height="18"> <select name="Anrede" class="text_schwarz_normal" size="1"> <option>-- bitte wählen Sie --</option> <option>Herr</option> <option>Frau</option> </select> </td> </tr> <tr> <td width="157" height="26" valign="bottom"><font size="2" face="Tahoma">Name: *</font></td> <td width="476" height="26"> <input name="Name" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="12"><font size="2" face="Tahoma">Vorname: *</font></td> <td width="476" height="12"> <input name="Vorname" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="12"><font size="2" face="Tahoma">Firma / Praxis:</font></td> <td width="476" height="12"> <input name="Firma" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="20"><font size="2" face="Tahoma">Strasse:</font></td> <td width="476" height="20"> <input name="Strasse" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="27"><font size="2" face="Tahoma">PLZ:</font></td> <td width="476" height="27"> <input name="PLZ" size="10" type="text" maxlength="5" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="28"><font size="2" face="Tahoma">Ort:</font></td> <td width="476" height="28"> <input name="Ort" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="28"><font size="2" face="Tahoma">Telefon:</font></td> <td width="476" height="28"> <input name="Telefon" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="24"><font size="2" face="Tahoma">Telefax:</font></td> <td width="476" height="24"> <input name="Telefax" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="28"><font size="2" face="Tahoma">EMail-Adresse: *</font></td> <td width="476" height="28"> <input name="Email" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" valign="bottom" height="29"><font size="2" face="Tahoma">Website:</font></td> <td width="476" height="29"> <input name="Website" size="64" type="text" maxlength="64" class="text_schwarz_normal"> </td> </tr> <tr> <td width="157" height="69" valign="middle"><font size="2" face="Tahoma">Ihre Nachricht an <br> mich:</font></td> <td width="476" height="69"> <textarea cols="49" name="Nachricht" rows="3" class="text_schwarz_normal"></textarea> </td> </tr> <tr> <td colspan="2" height="29"> <div align="center"> <input name="Send" type="submit" value="Abschicken"> <input name="Reset" type="reset" value="Löschen"> </div> </td> </tr> </form> </table> </td> </tr> </table> </td> </tr> <tr> <td bgcolor="#547DB1" width="188"> <?php require_once('_includes/copy.php'); ?> </td> <td bgcolor="#547DB1" width="537"> <?php require_once('_includes/nav.php'); ?> </td> <td bgcolor="#547DB1" height="36" width="225"> <div align="right"><font size="1" color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><b><img src="images/webadressbuch.jpg" width="172" height="34" border="1"></b></font></div> </td> </tr> </table> </td> <td height="570"> </td> </tr> <tr> <td colspan="3" class="menu"> </td> </tr> </table> <div align="right"></div> </body> </html> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thesecretboy Geschrieben 31. Mai 2006 Autor Teilen Geschrieben 31. Mai 2006 Ging nicht mehr in den ersten Beitrag (zu viele Zeichen (SORRY)) und hier der auslesende und versendende Teil des ganzen: <?php $mySite = "kontakt"; ?> <html> <head> <?php require_once('_includes/meta.php'); ?> <body background="images/bg_site.gif"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <table width="100%" border="0" cellspacing="0" height="100%"> <tr> <td colspan="3" class="menu"> </td> </tr> <tr> <td height="570" class="menu"> </td> <td width="950" height="570"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="#547DB1"> <td colspan="3" height="101"> <div align="center"><font size="1" color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><b> <?php require_once('_includes/header.php'); ?> </b></font></div> </td> </tr> <tr> <td width="188" valign="top" height="434" bgcolor="#547DB1"> <?php require_once('_includes/menu.php'); ?> </td> <td height="434" colspan="2"> <table width="100%" border="0" cellspacing="3" height="434" background="images/bg_main.gif" style="background-position: top; background-repeat: repeat-x;"> <tr> <td valign="top" class="right" width="10" rowspan="5" height="100%"> </td> <td valign="top" class="right" width="98%" rowspan="5" height="394"><br> Kontakt:<br> <br> <font face="Verdana" size="1"> <?php if($_REQUEST['Send']) { if(empty($_REQUEST['Name']) || empty($_REQUEST['Vorname']) || empty($_REQUEST['Email'])) { echo"<font face=Verdana size=1>Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus! Pflichtfelder erkennen Sie am *</font>"; } else { $Mailnachricht = "Die nachfolgende Nachricht wurde über www.meine-domain.de (Kontaktformular) versendet: \n\n"; while(list($Formularfeld, $Wert)=each($_REQUEST)) { if($Formularfeld!="Send") { $Mailnachricht .= $Formularfeld.": ".$Wert."\n"; } } $Mailnachricht .= "\nDatum/Zeit: "; $Mailnachricht .= date("d.m.Y H:i:s"); $Mailbetreff = "Kontakt ueber www.meine-domain.de"; $Mailbetreff .= $_REQUEST['Betreff']; [b]mail("info@meine-domain.com", $Mailbetreff, $Mailnachricht, "", "-f info@meine-domain.com");[/b] echo"<font face=Verdana size=1>Vielen Dank für Ihre Nachricht an uns. Wir werden diese umgehend bearbeiten.</font>"; } } else { echo"<font face=Verdana size=1>Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.php\">Seite</a></font>."; } ?> </font> </td> </tr> </table> </td> </tr> <tr> <td bgcolor="#547DB1" width="188"> <?php require_once('_includes/copy.php'); ?> </td> <td bgcolor="#547DB1" width="537"> <?php require_once('_includes/nav.php'); ?> </td> <td bgcolor="#547DB1" height="36" width="225"> <div align="right"><font size="1" color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><b><img src="images/webadressbuch.jpg" width="172" height="34" border="1"></b></font></div> </td> </tr> </table> </td> <td height="570"> </td> </tr> <tr> <td colspan="3" class="menu"> </td> </tr> </table> <div align="right"></div> </body> </html> Das heisst... ich bekomme die Mails aus dem Formular immer an die Adresse info@meine-domain.com und immer mit der Absender-Adresse info@meine-domain.de. Da ich für die Absenderadresse und auch für die Empfänger-Adresse feste Werte eingetragen habe, würde ich gern wissen, ob da doch was passieren kann und wenn ja, wie es besser wäre. Also wie der Code aussehen müsste, dass dies dann doch nicht so einfach ist. Ich habe im übrigen auch darauf geachtet, dass in allen (bis auf das Texteingabefeld) nur Einzeilige Eingaben möglich sind. Ich bin leider recht unerfahren in PHP und eigentlich froh, dass es so funktioniert. Wenn ich als Euerer Meinung nach was ändern müsste, dann wäre ich Euch echt dankbar, wenn Ihr mir genau zeigen würdet, wo ich was ändern/hinzufügen sollte. Ggf. (und das wäre mir am liebsten) könnt ihr mir ja auch den entsprechend geänderten Inhalt der beiden Dateien schicken in denen die notwendigen Änderungen drin sind, damit das Formular sicher ist/wird. Ich danke Euch schonmal wie verrückt. Edit: Ja, ich weiss... es gibt für "sichere Formulare" einen haufen Threads, aber ich wollte es getrennt wissen, weil ich ja feste Werte für Absender und Emfänger habe und hier vielleicht das Risiko anders zu bewerten ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thesecretboy Geschrieben 31. Mai 2006 Autor Teilen Geschrieben 31. Mai 2006 Ich hatte meine Frage auch schonmal in einem anderen Forum gestellt und diesen Code bekommen: if (preg_match('/^[\w.+-]{2,}\@[\w.-]{2,}\.[a-z]{2,6}$/', $_POST["from"]) && preg_match('/^[[:print:]]{3,}$/', $_POST["subject"]) && preg_match('/^[[:print:][:space:]]{3,}$/', $_POST["message"]) ) mail("deine@Email.de", "eMessage: ".$_POST["subject"], $_POST["message"], "From: ".$_POST["from"]); else die("Nachricht enthält verbotene Zeichen."); $_POST["from"] $_POST["subject"] $_POST["message"] Auf meine Frage dann, wo man dies dann einfügen muss und wie dann der gesamte Code aussehen muss, erhielt ich aber keine Antwort mehr. Könnt Ihr mir hier helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
alif Geschrieben 31. Mai 2006 Teilen Geschrieben 31. Mai 2006 Moin, ohne jetzt großartig die 15000 Zeilen Code bei dir duchguckt zu haben würde ich mal vermuten dass das etwa dorthin kommt wo du diesen Abschnitt hast: $Mailnachricht .= "\nDatum/Zeit: "; $Mailnachricht .= date("d.m.Y H:i:s"); $Mailbetreff = "Kontakt ueber www.meine-domain.de"; $Mailbetreff .= $_REQUEST['Betreff']; mail("info@meine-domain.com", $Mailbetreff, $Mailnachricht, "", "-f info@meine-domain.com"); echo"<font face=Verdana size=1>Vielen Dank für Ihre Nachricht an uns. Wir werden diese umgehend bearbeiten.</font>"; [/PHP] Allerdings musst du deine Variablen dem entsprechend (oder andersrum) anpassen. Z.B.:aus "$_POST["subject"]" -> "$Mailbetreff" machen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 31. Mai 2006 Teilen Geschrieben 31. Mai 2006 Nun habe ich mich mal ein bischen belesen und gesehen, dass solche Formulare, die die einfach Mail-Funktion nutzen (wie meines auch), sehr gern als SPAM-Schleuder mißbraucht werden. Auf den meissten Seiten ist aber zu lesen, dass als EMail-Absender immer eine Variable aus dem Eingabefeld der Email-Adresse benutzt wird, um die Mail beim Empfänger mit der korrekten Absender-Adresse ankommen zu lassen. Ich habe dies bei mir aber nicht so gelöst und würde gern wissen, ob ich dennoch als SPAM-Schleuder mißbraucht werden könnte oder ob ich durch die Angabe fester Adressen "sicher" bin. Deine mail Funktion sendet ja nur Mails an eine bestimmte, fest in der funktion eingetragene Adresse. Alles was passieren kann ist, dass jemand 100e Mails an diese Adresse sendet, aber als Spam-Schleuder ist deine Funktion nicht zu missbrauchen. Der code unten prüft nur, ob die Absenderadresse etc. stimmen bzw. ungültige Zeichen enthalten. Also nach kurzem Ansehen würde ich sagen, die Funktion ist "Spamschleuder-sicher". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
thesecretboy Geschrieben 31. Mai 2006 Autor Teilen Geschrieben 31. Mai 2006 Okay... na das ist ja mal ne Antwort. Das heisst ja dann im Umkehrschluss, dass die Mail-Funktion in meinem Falle ohne Gefahr für andere ist... cool. Vielen Dank. Das reicht mir vollkommen aus. Sorry für die langen Code-Post's. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.