Brauche dringend Hilfe!

Dieses Thema im Forum "Webdesign" wurde erstellt von repa-webdesign.de, 21. Januar 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. repa-webdesign.de

    repa-webdesign.de New Member

    Registriert seit:
    1. September 2002
    Beiträge:
    19
    Hi, also ich habe ein riesen Problem.

    Seit ca. 2 Wochen werde ich und meine Kunden regelmäßig über Kontakt Fomulare mit Mails zu gespamt. Allein letzte Woche habe ich 31000 Emails bekommen.

    Nachdem dies passiert ist habe ich meinen Provider kontaktiert und diesen gebeten den Absender dieser Mails auswendig zu machen, doch dies hat leider nciht funktioniert.
    Er meinte das ich mein Formular absichern solle.
    Dabei ist mein Fomular relativ sicher!

    Also vor paar Tagen hatte ich dasFormular rausgeholt nun habe ich es wieder rein getan damit ihr es euch mal anschauen könnt.

    Siehe http://www.repa-webdesign.de -> Kontakt

    Ich hoffe Ihr habt eine Lösung so das keiner mehr unendlich Mails über dieses Formular an mich schicken kann.

    Das Formular ist übrigens in PHP programmiert.

    Soll ich das Das PHP Script hier posten ?

    Vielen Dank für Eure Hilfe.

    Gruß

    repa
     
  2. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    AW: Brauche dringend Hilfe!

    Hallo,

    Mach doch einfach ein IP-Sperre. Jede IP darf z.B. nur eine Mail pro Minute schicken. Anzahl und Intervall sind jetzt ein reines Beispiel, das kann man variieren wie man will.
    Versucht jemand mehr als z.B. 10 Mails pro Minute zu versenden, sperrst Du die IP gleich ganz.
    So kannst Du die Anzahl der Mails zumindest auf ein Minimum beschränken.
    Das kann man ganz einfach filebasierend lösen, oder besser noch mit eine Datenbank. Verfügst Du über eine MySQL-Datenbank?
    Einfach die IPs merken und die Zeitpunkte, an denen eine Nachricht versendet wurde. Vor jedem Versand IP- und Zeitdaten mit aktuellen vergleichen, und gegebenfalls blockieren.
     
  3. VividNet

    VividNet New Member

    Registriert seit:
    8. Juli 2002
    Beiträge:
    388
    AW: Brauche dringend Hilfe!

    Hat sich wirklich jemand die Mühe gemacht das Formular 31000 mal auszufüllen ?
    Kann ich mir ehrlich gesagt nicht vorstellen. Sicher das die Mails durch besucher auf Deiner Seite generiert wurden ?
     
  4. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    AW: Brauche dringend Hilfe!

    Nein, die Mühe hat sich sicher keiner gemacht :)
    Er braucht sich nur den HTML-Code der Seite anzusehen, und weiss wie die Formulardaten weiterverarbeitet werden. Dann baut er sich ein Tool, das die Daten, genauso wie das Formular verschickt, nur mit dem Unterschied, dass er es rekursiv macht, also ständig wieder. Und da kommen dann z.B. 31.000 Mails an.
    Darum würde ich die IPs mitschreiben und ggf. sperren, dann kommen höchstens 5 bis 10 Mails an, dann keine mehr. Es sei denn er hat eine dynamische IP, dann muss er sich immer wieder einwählen um weitere 5 bis 10 Mails zu versenden, aber ich denke das ist ihm zu umständlich, das wird er nicht machen...
     
  5. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    Nachtrag

    Man könnte zusätzlich auch einen falschen Referrer sperren. Ist der Referrer ein anderer als Dein Kontaktformular, wird gar nichts gesendet. Dann nützt ihm sein tolles Tool auch nichts mehr :)
    Da gibt es viele Möglichkeiten...
     
  6. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    Noch eine Möglichkeit :)

    Der Absender muss eine e-Mail Adresse angeben. Zuerst wird eine Mail an die dort eingetragene Adresse geschickt, mit folgendem Inhalt:

    Sind Sie sicher dass Sie eine Nachricht an die Firma xxxx versenden möchten?
    [Ja] [Nein]

    Darunter kannst Du die Nachricht nochmal ausgeben...

    Die eingegebenen Daten bleiben so lange in der DB, bis sie durch Klick auf [Ja] versendet wurden, oder bis sie durch einen Klick auf [Nein] gelöscht wurden.
    Wichtig ist, dass Deine Mailadresse NICHT in dieser Mail enthalten ist, sonst schickt er seinen Müll in Zukunft dort hin.

    Der Absender muss also immer bestätigen ob er tatsächlich eine Mail versenden will. Der Spammer hat also NULL Chance über das Formular Mails in größeren Zahlen automatisiert abzusenden :)

    Ist natürlich die Frage ob das für alle anderen anfragenden als "lästig" empfunden wird. Das müsste man halt abwägen.
    Aber Möglichkeiten gibt's genug :)
     
  7. roxic

    roxic New Member

    Registriert seit:
    12. Mai 2002
    Beiträge:
    149
    AW: Brauche dringend Hilfe!

    rekursiv != ständig wieder.
     
  8. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    AW: Brauche dringend Hilfe!

    >rekursiv != ständig wieder.

    Klar. Aber durch eine Rekursion kann ich eine Funktion oder ein Script ständig neu starten und erreichen dass eine Mail ständig wieder versendet wird.
    Das ist natürlich nicht der eigentliche Sinn einer Rekursion. Der Sinn ist eine Funktkion oder ein Script ständig mit einem anderen Parameter ausführt um Daten abzuarbeiten oder komplexe Berechnungen durchzuführen, die rekursiv einfacher zu lösen sind als mit einer einfachen WHILE-Schleife - zufrieden :)
     
  9. repa-webdesign.de

    repa-webdesign.de New Member

    Registriert seit:
    1. September 2002
    Beiträge:
    19
    AW: Brauche dringend Hilfe!

    Also zuerst mal Danke für die vielen Antworten.
    Also mir gefällt die Lösung mit der IP Sperre, es macht mir nichts aus wenn irgendein Idiot 10 Mails hintereinander verschicken kann, die kann ich einfach löschen, doch 31000 Email die kann man nicht so einfach löschen;)....

    Das Tool was der Typ programmiert hatte, ermöglichte ihm ca 20 Mails in der Minute an mich zu schicken .

    Eine My-Sql Datenbank besitze ich. Kann mir einer sagen ob es viel Arbeit ist eine IP Sperre einzu bauen. Ist das schwierig?

    Das Formular ist sehr einfach aufgebaut.

    Ok Gruß

    repa
     
  10. drmann

    drmann New Member

    Registriert seit:
    5. Dezember 2002
    Beiträge:
    441
    AW: Brauche dringend Hilfe!

    an deiner stelle wuerde ich - wie irmlerc schon erwaehnte - eine referer-ueberpruefung einbauen. kommen die daten nicht von deiner webseite, bricht das skript ab (oder macht sonstwas..).
    die referer-url steht in der $_SERVER["HTTP_REFERER"]
    diese variable einfach vergleichen und gut is.

    stefan
     
  11. Inet

    Inet Erfahrener Benutzer

    Registriert seit:
    29. Januar 2002
    Beiträge:
    3.721
    AW: Brauche dringend Hilfe!

    Da gebe ich Stefan recht.
    Referer Check ist das sinnvollste.
    Hat den Vorteil das du nur noch Mails von deiner Seite aus bekommst.
    Wenn du IP`s dauerhaft sperrst kann es ja auch sein das dir irgendwann auch die seriösen Mails entgehen.

    Gruß
    INET
     
  12. repa-webdesign.de

    repa-webdesign.de New Member

    Registriert seit:
    1. September 2002
    Beiträge:
    19
    AW: Brauche dringend Hilfe!

    Ok da habt ihr recht. Dann werde ich so eine referer Überrüfung einbauen. Kann mir einer genau erklären wie das geht. Oder vielleicht beim einbeuen helfen. Wäre Nett. Schon mal Danke

    Gruß

    repa
     
  13. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    AW: Brauche dringend Hilfe!

    Einfach das superglobale Array $_SERVER[] verwenden. Das ist ein assoziatives Array. Folgendermaßen kannst Du den Referrer ausfindig machen: $_SERVER["HTTP_REFERER"]

    Einfach abfragen:

    if ($_SERVER["HTTP_REFERER"]!="woauchimmerdeinformularliegt")
    {
    printf("Sie haben soeben versucht das Kontaktformular zu übergehen!");
    exit();
    }
    else
    {
    // Daten per Mail wegschicken, usw.
    }
     
  14. drmann

    drmann New Member

    Registriert seit:
    5. Dezember 2002
    Beiträge:
    441
    AW: Brauche dringend Hilfe!

    kleine anmerkung :)
    anstatt printf() und exit(); geht auch die("Sie haben [...]");
    weiterhin wird das skript ja eh beendet nach ausgabe dieser meldung. von daher ist das ELSE ueberfluessig..
    also kurz:
    ---
    <?
    IF($_SERVER["HTTP_REFERER"]!="woauchimmerdeinformularliegt")
    DIE("Ungueltiger Aufruf !");
    ?>
    --

    gruss :)
     
  15. repa-webdesign.de

    repa-webdesign.de New Member

    Registriert seit:
    1. September 2002
    Beiträge:
    19
    AW: Brauche dringend Hilfe!

    So hier ist das PHP Script welches ich verwende!


    <?php



    $c_name = trim(strip_tags($c_name));
    $c_email = trim(strip_tags($c_email));
    $c_vorname = trim(strip_tags($c_vorname));
    $c_strasse = trim(strip_tags($c_strasse));
    $c_ort = trim(strip_tags($c_ort));
    $c_fon = trim(strip_tags($c_fon));
    $c_fax = trim(strip_tags($c_fax));
    $c_comment = trim(strip_tags($c_comment));


    if (empty($c_name))
    {
    $c_name = "---";
    }

    if (empty($c_email))
    {
    $c_email = "---";
    }

    if ($c_info == 0)
    {
    $c_info = "nein";
    }
    else
    {
    $c_info = "ja";
    }


    if (empty($c_name))
    {
    if (empty($msg))
    {
    $msg = "Bitte geben Sie Ihren Namen an.";
    }
    }

    if (empty($c_email))
    {
    if (empty($msg))
    {
    $msg = "Bitte geben Sie Ihre E-Mail Adresse an.";
    }
    }
    if (empty($c_vorname))
    {
    if (empty($msg))
    {
    $msg = "Bitte geben Sie Ihren Vornamen an.";
    }
    }

    if (empty($c_strasse))
    {
    if (empty($msg))
    {
    $msg = "Bitte geben Sie Ihre Strasse an.";
    }
    }

    if (empty($c_ort))
    {
    if (empty($msg))
    {
    $msg = "Bitte geben Sie Ihren Wohnort an.";
    }
    }

    if ((empty($c_fon)) && (empty($c_fax)))
    {
    if (empty($msg))
    {
    $msg = "Bitte geben Sie entweder Ihre Telefon-Nummer oder Ihre Fax-Nummer an.";
    }
    }

    if (empty($c_comment))
    {
    if (empty($msg))
    {
    $msg = "Bitte kommentieren Sie Ihr Schreiben.";
    }
    }

    if (empty($u_mail))
    {
    $t_mail="unknown@domain.com";
    }

    if (empty($msg))
    {
    $r = @mail("info@repa-webdesign.de", "repa-webdesign.de :: Neues Kontaktschreiben", "repa-webdesign.de :: Kontaktschreiben\n----------------------------------------\n\nName: $c_name\nE-Mail: $c_email\nVorname: $c_vorname\nStrasse: $c_strasse\nOrt: $c_ort\n\nTelefon: $c_fon\nFax: $c_fax\nInfomaterial: $c_info\nKommentar: $c_comment\n\nDiese Nachricht wurde automatisch versendet.", "From:info@repa-webdesign.de\nX-Priority:1\nX-Mailer:baclin.net");

    if ($r == 1)
    {
    $msg = "Ihr Kontaktschreiben wurde gesendet.<br>Wir werden in Kürze mit Ihnen in Verbindung treten.";
    }
    else
    {
    $msg = "Leider kann Ihre Anfrage im Moment aus technischen Gründen nicht gesendet werden.<br>Bitte versuchen Sie es später noch einmal.";
    $msg = "<font color=\"#333333\">" . $msg . "</font>";
    $msg .= "<br><br><a href=\"javascript:history.back()\">Zurück zum Formular</a>";
    }
    }
    else
    {
    $msg = "<font color=\"333333\">" . $msg . "</font>";
    $msg .= "<br><br><a href=\"javascript:history.back()\">Zurück zum Formular</a>";
    }


    ?>

    Also wie bau ich das hier ein ?

    Danke für die Antworten

    Gruß

    repa
     
  16. irmler_c

    irmler_c New Member

    Registriert seit:
    20. Dezember 2000
    Beiträge:
    323
    AW: Brauche dringend Hilfe!

    Ganz oben. An der Stelle bricht das Script dann ab.
     
  17. repa-webdesign.de

    repa-webdesign.de New Member

    Registriert seit:
    1. September 2002
    Beiträge:
    19
    AW: Brauche dringend Hilfe!

    Hi, also das Script ist nun drinnen und es funktioniert..Vielen Dank für die Hilfe;)

    Gruß

    repa
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen