mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 16.04.2024 13:19 Benutzername: Passwort: Auto-Login

Thema: Fehler im Kontaktformular - aber wo? vom 15.06.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Fehler im Kontaktformular - aber wo?
Autor Nachricht
Tom-und-Paul
Threadersteller

Dabei seit: 17.12.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 15.06.2009 07:32
Titel

Fehler im Kontaktformular - aber wo?

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen!

Ich bin gerade dabei, für meine Webseite ein einfaches Kontaktformular zu programmieren. Bis jetzt hat auch alles gut geklappt. Nur als ich das Formular online getestet habe, ist nix passiert. Nachdem alles aufgefüllt war & ich es versenden wollte, sprang er einfach wieder zum leeren Kontaktformular zurück. Leider finde ich den Fehler im Formular nicht. Es ist in zwei Dateien (kontakt.php und kontakt-auswerten.php ) aufgeteilt. Hier mal die Files:

kontakt.php
Code:
<form action="kontakt-auswerten.php" method="post">
        <label>
          <input type="text" name="Name" id="textfield">
          </label>
        </form></td>
      </tr>
    <tr>
      <td>&nbsp;</td>
      <td valign="top">E-Mail:</td>
      <td><form name="form2" method="post" action="">
        <label>
          <input type="text" name="E-Mail" id="textfield2">
          </label>
      </form></td>
      </tr>
    <tr>
      <td valign="top">&nbsp;</td>
      <td valign="top">Nachricht:</td>
      <td><form name="form3" method="post" action="">
        <label>
          <textarea name="Nachricht" id="textarea" cols="30" rows="5"></textarea>
          </label>
        </form>        <p>&nbsp;</p>
        <form name="form4" method="post" action="">
          <label>
            <input name="Send" type="submit" value="Abschicken">
            </label>
          </form>


kontakt-auswerten.php
Code:
<?php

$Empfaenger = "xy@web.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Hallo xy! Du hast über dein Kontaktformular eine Nachricht bekommen von: \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: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre Mail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.php\">Seite</a>.";
}

?>


Anmerkung: Die E-Mail-Adresse steht natürlich richtig drin, habe sie hier nur gegen "xy..." ausgetauscht *zwinker*
Danke schonmal für eure Hilfe!
  View user's profile Private Nachricht senden
remote

Dabei seit: 10.11.2006
Ort: /var/www/
Alter: 110
Geschlecht: Männlich
Verfasst Mo 15.06.2009 08:25
Titel

Antworten mit Zitat Zum Seitenanfang

guck mal 'welches' der vielen form elemente von deinem submit überhaupt abgeschickt wird.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
leinich

Dabei seit: 23.09.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 15.06.2009 09:39
Titel

Antworten mit Zitat Zum Seitenanfang

du hast in deinem kontakt.php mehrere <form /> Elemente

da kommt wohl nur das letzte an (also das mit dem submit button?)


Zuletzt bearbeitet von leinich am Mo 15.06.2009 09:41, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Mo 15.06.2009 09:49
Titel

Antworten mit Zitat Zum Seitenanfang

Au weia! *Huch* Dir ist klar das du mit diesem Formular Spammer Tür und Tor öffnest oder?

Und zwar nicht grade zu wenig...

ich zähle mal die Fehler auf:

1. Du nutzt das $_REQUEST Array welches nicht zwischen POST und GET unterscheidet. Damit ist es super leicht den input über an die Url angehängte Variablen zu manipulieren.

2. Du validierst deinen Input nicht. Die devise bei Webapplikationen, nein bei so ziemlich allen Applikationen, lautet Validiere jeden Input oder Stirb. Du springst hier mit einer Handgranate in der Hand von einer 100m hohen Brücke vor einen 300 km/h schnellen Zug nachdem du eine Zyankali Kapsel eingenommen hast...

3. Normalerweise würde ich sagen prüfe auf jeden Fall auf \r und \n aber du machst es dem Angreifer so leicht das er sich die Mühe sowas zu nutzen garnicht erst machen muss...

Fazit: Google auf jeden Fall mal nach E-Mail Injection und mit den Informationen die du nachgelesen hast im Hinterkopf schreibst du alles neu. So wie das Skritpt jetzt ist ist es nur eine Frage der Zeit bis dein Server zur Spamschleuder mutiert und dir dein Hoster deswegen deinen Webspace kündigt...
  View user's profile Private Nachricht senden
DerM

Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Mo 15.06.2009 10:02
Titel

Antworten mit Zitat Zum Seitenanfang

definitiv liegt es an den ganzen Form (3 an der Zahl) Elementen.. Also die ganzen Inputs nur in eine Form packen.. Und $_POST anstatt $_REQUEST verwenden Lächel

Tante Edith sagte grad noch: Die drei Prunkte von Pixelpole solltest Du dir definitiv zu Herzen nehmen.. Du hast da nämlich ne ordentliche Spamschleuder ....


Zuletzt bearbeitet von DerM am Mo 15.06.2009 10:04, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
zweitaccount

Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 15.06.2009 10:43
Titel

Antworten mit Zitat Zum Seitenanfang

Pixelpole hat geschrieben:
Du springst hier mit einer Handgranate in der Hand von einer 100m hohen Brücke vor einen 300 km/h schnellen Zug nachdem du eine Zyankali Kapsel eingenommen hast...

*ha ha*

Ansonsten könnte man Dir auch noch phpmailer ans Herz legen
und Du könntest auch mal auf dieser Seite reinschnuppern:
protect yourself
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Mo 15.06.2009 10:50
Titel

Antworten mit Zitat Zum Seitenanfang

ganz frisch von nettuts
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 15.06.2009 10:56
Titel

Antworten mit Zitat Zum Seitenanfang

zweitaccount hat geschrieben:
und Du könntest auch mal auf dieser Seite reinschnuppern:
protect yourself


Danke für den Link. Ist gut zusammengefasst, was man sich meist mühsam aus 10 Seiten suchen muss *Thumbs up!*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Fehler im Kontaktformular
php kontaktformular fehler
PHP-Kontaktformular, Fehler beim absenden...
PHP-Kontaktformular: Fehler beim Versenden
Kontaktformular
PHP Kontaktformular
Neues Thema eröffnen   Neue Antwort erstellen
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.