Php script für Spam Mißbraucht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Php script für Spam Mißbraucht

    Hallo liebe Community,
    ich habe ein kleines Mailscript geschrieben (code unten) und habe das Problem, dass irgendwelche verdammten Spammer die CC oder BCC funktion nutzen um ihre Email Adressen und ihren Spam einzutragen und zu versenden. Mir fällt nur leider keine Möglichkeit ein dieses Problem zu beheben. Bekomme jeden morgen hunderte Mails von dem Script und habe auch schon Probleme mit dem Provider.
    Für jede Hilfe wäre ich sehr dankbar.

    <?
    include('./header.php');



    if ($REQUEST_METHOD == "POST") {

    $adminemail = "erstemailaddy@web.de";
    $adminemail2 = "zweitemailaddy@web.de";
    $email2 = hostname;

    $msg2 = "
    Vorname : $vorname
    Name: $name
    Firma: $firma
    Email: $email
    Straße: $strasse
    Plz/Ort: $ort
    Telefon: $telefon
    ";

    mail("$adminemail", "irgendwas: $subject", "$msg2", "From: $email2 \nReply-To: $email")
    or die("Die Mail konnte nicht versendet werden. <br> Bitte schicken Sie Ihre Anfrage manuell an erstemail@web.de.<br><br>Vielen Dank! ");
    mail("$adminemail2", "irgendwas: $subject", "$msg2", "From: $email2 \nReply-To: $email");
    echo " <br><br><br>Vielen Dank, wir werden Ihre Email umgehend beantworten!";

    } else {


    include('./contactform.php');


    }


    include('./footer.php');

    ?>

  • #2
    Du mußt die Eingabe der Felder überprüfen
    und je Session nur einmaliges Versenden des Formulars
    zulassen.

    Also eine Sessionvariable nach jedem Versenden hochzählen,
    nach einmal Versenden ist Schluß.

    Kommentar


    • #3
      aber selbst dann, ich lasse mir pro aufruf des skriptes die ip des senders zuschicken, und pro ein aufruf wird wohl dessen code direkt eingespeisst, kann ich nicht die cc und bcc funktion deaktivieren?

      Kommentar


      • #4
        du sollst einfach _nichts_ in die headers einfügen, was dir der benutzer übermittelt.

        Kommentar


        • #5
          abend

          wie schon erwähnt wurde, die IP mitloggen und dann eben das weiterer verschicken von der Mail sperren für denjenigen mit der IP

          kannst du das nicht mit preg_match überprüfen, das muss doch damit gehen ??

          gruß SuRaXor

          Kommentar


          • #6
            Original geschrieben von webbybird
            kann ich nicht die cc und bcc funktion deaktivieren? [/B]
            ja, kannst du. indem du alle parameter ordentlich validierst: Mail-Formulare auf Webseiten absichern

            Kommentar


            • #7
              du kannst in der online Version des php-manuals unter mail() bei den user contributed notes nachschauen, es ist voll von diesem Thema.

              Kommentar


              • #8
                man kann auch die phpmailer klasse verwenden,
                die ist besser(zuverlässiger) als mail.

                Kommentar


                • #9
                  Original geschrieben von Koala
                  man kann auch die phpmailer klasse verwenden,
                  die ist besser(zuverlässiger) als mail.
                  bedeutet diese Aussage, gegen mail injection?

                  Kommentar


                  • #10
                    ($adminemail, "irgendwas: $subject", $msg2, "From: $email2 \nReply-To: $email")

                    Ich sehe gerade, mit deinem Code ist mail injection über $email möglich. Am einfachsten ist es, wenn ,falls darin CRLF, oder CR, oder LF vorkommt, das mail als spam erkannt wird. uber $subject sollte es nicht möglich sein, aber Du kannst den gleichen Test machen.
                    $email2 ist ja = hostname und das kommt nicht von aussen?

                    Kommentar


                    • #11
                      Original geschrieben von heiss
                      bedeutet diese Aussage, gegen mail injection?
                      nein - sie versendet zuverlässiger - lol.

                      Aber wenn man sich mit dem Thema auseinandersetzen muß/will,
                      dann kann man ja gleich ne vernünftige Klasse verwenden.

                      Kommentar


                      • #12
                        danke für die vielen Antworten, ich werde mal mein Bestes und hoffen, dass dieses Problem aus der Welt zu schaffen sein wird.
                        gruss und n8

                        Kommentar


                        • #13
                          @heiss

                          es muß generell alles was von außen kommt gecheckt werden,
                          mit stripslashes, mysql_realescape (wenn die eingegebenen Daten in der DB landen) oder mit nem Regex.

                          Die eingegebenen Daten werden ja auch im message-Teil der mail
                          ausgegeben und da will man auch keinen Code drin haben.

                          In der phpmailer-Klasse kann man angeben, daß nur als text/plain
                          verschickt werden soll.

                          Kommentar


                          • #14
                            Nach dem, was ich gelesen habe zum Thema mail-injection, muss man in dieser Situation "Kontaktformular" die von mir genannte Massnahme treffen.

                            Der Rest (alles checken) ist abstrakt und unhilfreich, weil damit noch lange nicht klar ist, worauf geprüft werden muss. Irgendetwas muss ja noch durchgelassen werden, was willst du zB unter $vorname prüfen? etwa deutsches Vornamenbuch von Bertelsmann (Europaring), Ausgabe 2006????

                            Kommentar


                            • #15
                              Original geschrieben von Koala
                              Die eingegebenen Daten werden ja auch im message-Teil der mail
                              ausgegeben und da will man auch keinen Code drin haben.
                              Ueber den message-Teil kann man keine CC: und BCC: mail-injecten.

                              Kommentar

                              Lädt...
                              X