mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: So 28.04.2024 22:53 Benutzername: Passwort: Auto-Login

Thema: Alter PHP Mailformular: Wie genau einbinden? vom 01.07.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Alter PHP Mailformular: Wie genau einbinden?
Seite: Zurück  1, 2
Autor Nachricht
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 02.07.2009 14:13
Titel

Antworten mit Zitat Zum Seitenanfang

Smooth-Graphics hat geschrieben:
Ja, das macht gar nichts, der Spam kann so bestens versendet werden, siehe Google Links.
Ist eigentlich auch nicht schwer mal die grundlegenden Dinge zu beachten:


Ich kann hier keine Lücke für eine Injection entdecken, hm, mir knallt aber auch die Sonne auf den Kopf ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 02.07.2009 14:23
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
Ich kann hier keine Lücke für eine Injection entdecken, hm, mir knallt aber auch die Sonne auf den Kopf ...


Es wird ja kein einziger String validiert und damit kann das Formular potenziell missbraucht werden...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 02.07.2009 14:33
Titel

Antworten mit Zitat Zum Seitenanfang

Smooth-Graphics hat geschrieben:
m hat geschrieben:
Ich kann hier keine Lücke für eine Injection entdecken, hm, mir knallt aber auch die Sonne auf den Kopf ...


Es wird ja kein einziger String validiert und damit kann das Formular potenziell missbraucht werden...


Ne, eine Header Injection ist über den dritten Parameter der Mail Funktion nicht möglich
und dieser erhält den einzigen variablen nicht maskierten/validierten Wert.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 02.07.2009 14:46
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
Ne, eine Header Injection ist über den dritten Parameter der Mail Funktion nicht möglich
und dieser erhält den einzigen variablen nicht maskierten/validierten Wert.


Hm, naja ist wohl doch bissl heiß *ha ha*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Do 02.07.2009 14:47
Titel

Antworten mit Zitat Zum Seitenanfang

stimmt du hast recht. Es ist nicht möglich. Aber auch nur weil php automatisch header einfügt wenn keine mitgesendet werden. Würde php das nicht tun bräuchte man nur seine eigenene headerfelder einfügen und eine leerzeile reinmachen und schon haben wir das teil lustig in der gegend rumverschickt Ooops

War mein Fehler, ich hatte total vergessen das php ja auch eigene header mitsendet.

//jaja, heiß und so Ooops


Zuletzt bearbeitet von Pixelpole am Do 02.07.2009 14:48, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 02.07.2009 15:20
Titel

Antworten mit Zitat Zum Seitenanfang

Smooth-Graphics hat geschrieben:
Schau dir mal bitte an, was du versuchst zu überprüfen in der ersten Zeile des PHP Docs:

Code:
if(isset($_POST['submit']))


Wo ist 'submit' definiert? Nirgendwo im Formular. Eben. Lächel
Ich hab das nur als Beispiel geschrieben, anpassen sollst das schon du.


Ok, also müsste das Formular ungefähr so aussehen?

Code:
<form name="mailformular" method="POST" action="mailer.php">
<input type="text" name="name" id="name">
<input type="text" name="email" id="email">
<input type="radio" name="radio" value="Option 1">
<input type="radio" name="radio" value="Option 2">
<input type="submit" name="submit" id="submit" value="Abschicken">
<form>
  View user's profile Private Nachricht senden
TOMillr
Threadersteller

Dabei seit: 21.03.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 02.07.2009 16:14
Titel

Antworten mit Zitat Zum Seitenanfang

Ok, habe in der Zwischenzeit das Tutorial wiedergefunden, mit dem ich damals das ursprüngliche Formular erstellt habe. LINK Dort gibt es auch eine Demodatei, die heruntergeladen, meine Email Adresse ergänzt und dann auf den Server hochgeladen habe.

Zur Veranschaulichung hier noch mal die entsprechenden Codezeilen:

Code:
<?php
if(isset($_POST['submit'])) {

   $to = "hier steht dann meine Email Adresse";
   $subject = "Form Tutorial";
   $name_field = $_POST['name'];
   $email_field = $_POST['email'];
   $message = $_POST['message'];
   $option = $_POST['radio'];
   $dropdown = $_POST['drop_down'];

   foreach($_POST['check'] as $value) {
      $check_msg .= "Checked: $value\n";
   }
   
   $body = "From: $name_field\n E-Mail: $email_field\n $check_msg Option: $option\n Drop-Down: $dropdown\n Message:\n $message\n";

   echo "Data has been submitted to $to!";
   mail($to, $subject, $body);
   
} else {
   echo "blarg!";
}
?>


Und so sieht das Demoformular aus:

Code:
<form method="POST" action="mailer.php">
   Name:
   <input type="text" name="name" size="19"><br>
   <br>
   E-Mail:
   <input type="text" name="email" size="19"><br>
   <br>
   
   <input type="checkbox" name="check[]" value="blue_color"> Blue<br>
   <input type="checkbox" name="check[]" value="green_color"> Green<br>
   <input type="checkbox" name="check[]" value="orange_color"> Orange<br>
   <br>
   <input type="radio" value="yes" name="radio"> YES<br>
   <input type="radio" value="no" name="radio"> NO
   <br>
   <br>
   <select size="1" name="drop_down">
   <option>php</option>
   <option>xml</option>
   <option>asp</option>
   <option>jsp</option>
   </select><br>
   <br>
   Message:<br>
   <textarea rows="9" name="message" cols="30"></textarea><br>
   <br>
   <input type="submit" value="Submit" name="submit">
</form>


Wenn ich nun jedoch das Formular abschicke, bekomme ich folgende Meldung ausgegeben:

Zitat:
Warning: Invalid argument supplied for foreach() in /is/htdocs/SERVERPFAD on line 12
Data has been submitted to EMAILADRESSE!


Jemand eine Idee, was nun wieder schiefgelaufen sein könnte? Oder hat vielleicht jemand eine Alternative für mich? Benötige eigentlich nur ein Formular, welches NAME, EMAILADRESSE sowie jeweils den Wert einer RADIOserie per Mail an mich schickt.
  View user's profile Private Nachricht senden
 
Ähnliche Themen E-Mailformular
Mailformular Umlaute
Mailformular fehlerhaft!
Flash MX Mailformular
PHP Mailformular umlaute
[PHP] Fehlermeldung in Mailformular ausgeben
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.