Jazzey: Pflichtfelder in E-Mail-Formular

Hallo,

ich möchte ein E-Mail-Formular mit Pflichtfeldern versehen. Kann mir jemand erklären wie diese Funktionieren, in welcher Script-Sprache man sie umsetzt und welche Voraussetzungen man beachten muß?

Wäre super...
Jazzey

  1. Hello,

    ich möchte ein E-Mail-Formular mit Pflichtfeldern versehen. Kann mir jemand erklären wie diese Funktionieren, in welcher Script-Sprache man sie umsetzt und welche Voraussetzungen man beachten muß?

    Wie möchtest oder kannst Du denn die eMail versenden? Mit PERL, PHP, NetBasic, Java, ... mittels aktivem Server-Backend?

    Wichtig ist auf jeden Fall, dass Du alle Felder, die bei der eMail im Header-Bereich landen, auf Injektionen überprüfst.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hallo und vielen Dank...

      Wie möchtest oder kannst Du denn die eMail versenden? Mit PERL, PHP, NetBasic, Java, ... mittels aktivem Server-Backend?

      PHP geht auf jeden Fall. Bisher nur Standard-E-Mail-Formular vom Provider verwendet.

      Wichtig ist auf jeden Fall, dass Du alle Felder, die bei der eMail im Header-Bereich landen, auf Injektionen überprüfst.

      Wie macht man denn das?

      Danke
      Jazzey

      1. Hello,

        Wichtig ist auf jeden Fall, dass Du alle Felder, die bei der eMail im Header-Bereich landen, auf Injektionen überprüfst.

        Wie macht man denn das?

        Da ist ein nicht zu unterschätzender Themenkomplex, der lange einfach ignoriert wurde. Aber genauso, wie man mittels Usereingaben oft Datenbank-Queries manipulieren kann, kann man auch Mailserver missbrauchen.

        die Funktion mail() von PHP liefert eine rudimentäre eMail-Unterstützung sowie die Möglichkeit des "Aufbohrens" über den parameter "$header"

        http://de3.php.net/manual/de/ref.mail.php

        Leider kann man das lokal nicht so ohne weiteres ausprobieren. Dazu muss man schon einen lokalen Mailservice installiert haben. Aber es wäre auf jeden Fall zu empfehlen, dass Du deine ersten Scripte, die Du mit mail() baust, nicht online (öffentlich) stehen lässt, wenn Du Feierabend machst, sondern sie hier (in wesentlichen Auszügen) postest zur Kontrolle.

        Spammer sind regelmäßig auf der Suche nach "open relays". Das sind Mailscripte, die die Sicherheitsbedenken missachten...

        Du benöigst erstmal ein Formular, das seine Form-Action an ein Script richtet. Zum Üben (und auch später) eignet sich dafür am besten ein "Affenformular" (--> im Archiv suchen).

        Dieses Fomular sollte als erstes nichts anderes tun, als die Felder, die Du für mail() später verwenden willst, zu verarbeiten und wieder auszugeben.

        Erst wenn Du alle Felder (Parameter) soweit "dicht gemacht" hast, dass nichts Schädliches mehr durchschlüpen kann, solltest Du sie an mail() übergeben.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hallo Tom,

          Spammer sind regelmäßig auf der Suche nach "open relays". Das sind Mailscripte, die die Sicherheitsbedenken missachten...

          Nein, als »Open Relay« bezeichnet man eigentlich einen SMTP-Server, der nicht überprüfet, ob der Client dazu berechtigt ist über diesen Server Mails zu versenden. Dass unsicher geschriebene Formulare dafür auch missbraucht werden (können), stimmt dennoch.

          Schöne Grüße,

          Johannes

          --
          ss:| zu:) ls:[ fo:) de:] va:) ch:) n4:| rl:) br:< js:| ie:{ fl:( mo:}
          1. Hello Johannes,

            Spammer sind regelmäßig auf der Suche nach "open relays". Das sind Mailscripte, die die Sicherheitsbedenken missachten...

            Nein, als »Open Relay« bezeichnet man eigentlich einen SMTP-Server, der nicht überprüfet, ob der Client dazu berechtigt ist über diesen Server Mails zu versenden. Dass unsicher geschriebene Formulare dafür auch missbraucht werden (können), stimmt dennoch.

            Das war mir schon klar. Man kann aber nicht in einem Satz ein gesamtes Mailsystem bis ins Detail richtig erklären. Ich schaffs ja noch nicht einmal, meine "geerbten" Cyrus-Postfix Systeme mit inzwischen gesammelten ca. 100 Seiten diverser guter und mittelmäßiger Anleitungen (die schlechten habe ich gleich zum Zellteformat verarbeitet) zum Laufen zu bringen. Und das schon seit zwei Wochen. Du glaubst gar nicht, was das frustet. Ein Detailproblem gelöst, zwei neue entstehen.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hallo Tom,

              Du glaubst gar nicht, was das frustet. Ein Detailproblem gelöst, zwei neue entstehen.

              Doch, ich kann mir das vorstellen. Ich habe auch schon Tage, wenn nicht Wochen, damit verbracht, mich mit Mailservern rumzuärgern.

              Schöne Grüße,

              Johannes

              --
              ss:| zu:) ls:[ fo:) de:] va:) ch:) n4:| rl:) br:< js:| ie:{ fl:( mo:}