Palme: Mail-Formular sicherer machen

Hallo,

wenn ich einen User auf meiner Webseite die Möglichkeit biete über ein Formular eine E-Mail an mich zu senden, was sollte ich tun, damit der User keine Dummheiten mit dem Formular bzw. mit der Mail anrichten kann, also irgendwelchen Code ins Formular eingeben kann etc.?
Und, wie mache ich so etwas am Besten?

mfg

Palme

  1. Hallo,

    was sollte ich tun, damit der User keine Dummheiten mit dem Formular bzw. mit der Mail anrichten kann, also irgendwelchen Code ins Formular eingeben kann etc.?

    • Empfaenger-Adresse im Skript hart codieren (nicht aus Formular uebernehmen).
    • Falls Du eine Cc. an den Absender schickst (was ganz nett ist, besonders,
         wenn er entscheiden kann, ob er das will oder nicht), solltest Du pruefen,
         dass im entsprechenden Feld nur eine einzige Adresse steht
         (z.B. mit substr_count($absenderadresse,"@") oder so.
    • Boese Zeichen wie NULL ("\0") und ueberhaupt alle Zeichen
        kleiner als Dezimal 32 aus allen Feldern entfernen, besonders
        aus denjenigen, die in Headern landen.
        Dort auch dez. 13 ("\r") und dez. 10 ("\n"), d.h. Zeilenumbrueche, entfernen.

    Gruesse,

    Thomas

    --
    Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
    Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
    Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
    1. Hallo,

      • Boese Zeichen wie NULL ("\0") und ueberhaupt alle Zeichen
          kleiner als Dezimal 32 aus allen Feldern entfernen, besonders
          aus denjenigen, die in Headern landen.
          Dort auch dez. 13 ("\r") und dez. 10 ("\n"), d.h. Zeilenumbrueche, entfernen.

      was könnte man wie damit anstellen? -habe null Ahnung davon

      mfg

      Palme

      1. Hallo,

        Dort auch dez. 13 ("\r") und dez. 10 ("\n"), d.h. Zeilenumbrueche, entfernen.
        was könnte man wie damit anstellen? -habe null Ahnung davon

        Man koennte Schwachstellen von Mail-Programmen (sendmail u.s.w.)
        ausnuetzen. Und Deinen Server zu Spamming-Zwecken missbrauchen.

        Gruesse,

        Thomas

    2. Hello Thomas,

      hast Du dich etwa mit meinen Traktaten über "open Relays" beschäftigt?
      Sehe, dass Du die Brisanz der Sache voll im Griff hast ;-))))

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Hallo Tom,

        hast Du dich etwa mit meinen Traktaten über "open Relays" beschäftigt?

        Naja, im Lauf der Jahre habe ich einiges gelesen...
        Unter anderem auch Deine Traktate bzgl. Cc: ... ;-)
        Dadurch aufgeschreckt, warf ich einen Blick in meinen
        PHP-Formmailer (selbstgeschrieben) und war erfreut,
        dass ich dort bereits instinktiv die "@" zaehlte und
        nur bei genau einem "@" eine Cc: schicke.

        Sehe, dass Du die Brisanz der Sache voll im Griff hast ;-))))

        Ich hoffe, dass ich die wichtigsten Punkte genannt habe;-)
        Ergaenzungen werden gerne angenommen.

        Liebe Gruesse
        Thomas

        P.S. die doppelten Anfuehrungszeichen... [pref:t=70939&m=408400] SCNR;-)

        1. Hello,

          Sehe, dass Du die Brisanz der Sache voll im Griff hast ;-))))

          Ich hoffe, dass ich die wichtigsten Punkte genannt habe;-)
          Ergaenzungen werden gerne angenommen.

          Die wesentlichen Lücken sind eben
          CC:
          BCC:
          From:

          weil die gerne in Formularen abgefragt werden und dann oft ungeprüft in die Header übernommen werden. Dein Tipp, alle \r\n oder \n zu extrahieren (ich würde sie zählen und ggf. Alarm schlagen) ist schon der richtige Ansatz. Es dürfen überhaupt keine Sonderzeichen drinstehen, die in Mailadressen selber nicht vorkommen dürfen. Sollte das der Fall sein, ist es wahrscheinlich ein Hackversuch und sollte beim Operator aufschlagen.

          P.S. die doppelten Anfuehrungszeichen... [pref:t=70939&m=408400] SCNR;-)

          Ja, ich habe schon fleißig gesucht, woher das kam und leider nur die Hälfte wiedergefunden. Siehe Thread.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen