E-Mail-Adresse auf Validität prüfen

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

  • E-Mail-Adresse auf Validität prüfen

    Guten Tag,

    ich bekomme über mein Kontaktformular seit kurzem mehrere hundert Spam-Mails pro Tag. Dies liegt unter anderem daran, dass ich bisher keine Prüfung der Daten vornehme (sehr leichtsinnig, ich weiss).

    Nun habe ich mich erkundigt und einige Lösungsansätze gefunden.
    Zum Einen habe ich von der Funktion checkdnsrr gelesen, die wohl überprüft, ob die Domain überhaupt existiert und angeblich auch die Existenz des Benutzernamens prüft. Nach einigen Tests musste ich feststellen, dass diese Funktion nicht immer ein korrektes Ergebnis liefert (insbesondere in Bezug auf den Benutzernamen).
    Außerdem funktioniert das wohl nicht bei Windows-Servern.

    Ist es sinnvoll diese Funktion (zusätzlich zu anderen Abfragen) zu nutzen?

    Außerdem habe ich noch das ein oder andere Pattern für reguläre Ausdrücke gefunden. Allerdings hatte ich mit keinem der (ca. 5 unterschiedlichen, ausführlichen) Pattern Glück. Da diese Pattern wie bereits erwähnt sehr ausführlich und umfangreich sind, fällt es mir sehr schwer den / die Fehler zu finden.

    Kann mir diesbezüglich jemand weiterhelfen?

    Gruß
    Das Genie überblickt das Chaos!

    Wer Rechtschreibfehler findet, darf sie behalten!

  • #2
    ich bekomme über mein Kontaktformular seit kurzem mehrere hundert Spam-Mails pro Tag.
    dagegen hilft nur ein gutes captcha. google mal danach.

    Kommentar


    • #3
      Hmm, die Sache mit dem Captcha habe ich mir auch schon überlegt.

      Problem an der Sache ist, dass es sich bei den Usern unter anderem (einem nicht zu verachtendem Teil) um ältere und somit zum Teil sehbehinderte Personen handelt.

      Die Captchas, die ich bisher "kennengelernt" habe, waren zum Teil sehr schlecht lesbar. Dazu kommt, meine Beführchtung, dass manche evtl. den Sinn nicht verstehen und somit "ausgesperrt werden".

      Kannst du mir evtl. ein gutes empfehlen?

      Zu den anderen Ansätzen: Sollte man diese Prüfungen dann ganz lassen, oder evtl. zusätzlich (angenommen man entscheidet sich für ein Captcha) prüfen?
      Das Genie überblickt das Chaos!

      Wer Rechtschreibfehler findet, darf sie behalten!

      Kommentar


      • #4
        Re: E-Mail-Adresse auf Validität prüfen

        Original geschrieben von chefdesigner
        Zum Einen habe ich von der Funktion checkdnsrr gelesen, die wohl überprüft, ob die Domain überhaupt existiert
        Der absolut überwiegende Teil des Spams wird m.E. mit real existenten Domainparts in der "Absenderadresse" verschickt.
        und angeblich auch die Existenz des Benutzernamens prüft.
        Das halte ich für ein Gerücht.

        Du meinst vermutlich nicht Benutzername, sondern den Teil einer E-Mail-Adresse vor dem @?
        Nach einigen Tests musste ich feststellen, dass diese Funktion nicht immer ein korrektes Ergebnis liefert (insbesondere in Bezug auf den Benutzernamen).
        Das wäre ja höchst kontraproduktiv, wenn man damit prüfen könnte, ob ein E-Mail-Empfänger unter einer bestimmten Domain existiert - an der Information hätten ja auch die Spammer selber ein großes Interesse.
        (Zu genau diesem Zweck gab [/gibt] es ja auch das Finger-Kommando, was heutige Mailserver aber aus dem genannten Grund so gut wie gar nicht mehr unterstützen.)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          checkdnsrr() und Benutzername wäre mir neu. Die einzige Möglichkeit den Benutzernamen zu verifizieren wäre folgender Ansatz:
          Zerlege die Email Adresse in Benutzer und Domain
          Stelle die IP Adresse des zuständigen Mailservers fest
          Baue eine Verbindung zum Mailserver auf
          Versuche dem Mailserver auf die angegebene Adresse eine Email zuzustellen
          Wenn er sie akzeptiert dann könnte der User existieren.
          Um sicher zu gehen, dass du es nicht mit einem offenen Mailserver zu tun hast, könntest du noch versuchen ein oder zwei Mails an völlige Phantasiebenutzer bei dieser Domain zu schicken. Werden diese nicht aktzeptiert, sollte alles i.O. sein mit der Email Adresse.

          Ziemlich viel Aufwand und drum würde ich auch meinen, dass eine Captcha Lösung schneller umgesetzt ist.


          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Original geschrieben von jahlives
            Versuche dem Mailserver auf die angegebene Adresse eine Email zuzustellen
            Wenn er sie akzeptiert dann könnte der User existieren.
            Um sicher zu gehen, dass du es nicht mit einem offenen Mailserver zu tun hast, könntest du noch versuchen ein oder zwei Mails an völlige Phantasiebenutzer bei dieser Domain zu schicken. Werden diese nicht aktzeptiert, sollte alles i.O. sein mit der Email Adresse.

            Ziemlich viel Aufwand
            Nicht nur "ziemlich viel Aufwand", sondern eine immense Belästigung.

            Man überlege sich mal, um wie viel der E-Mail-Traffic steigen würde, wenn so jeder Harri vorgehen würde, der eine E-Mail-Adresse "überprüfen" will ...

            Nein, so einen Unfug bitte dringend bleiben lassen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Alles klar, erstmal vielen Dank für die hilfreichen Beiträge.

              Ich komm also um ein Captcha nicht herum. Aber hierzu noch die Frage: Gibt es benutzerfreundlichere Lösungen (wie bereits erwähnt, sind viele mir bekannte Captchas teilweise sehr schlecht lesbar), die auch von älteren, sehschwächeren und evtl. sogar behinderten Menschen problemlos benutzt werden können?
              Das Genie überblickt das Chaos!

              Wer Rechtschreibfehler findet, darf sie behalten!

              Kommentar


              • #8
                Nun captchas sind schlecht lesbar gemacht damit sie nicht maschinell auslesbar sind.

                Wenn Du selbst eins erstellst kannst Du Dich annähern, in Deinem Fall nimmst Du erstmal einfach eine recht gut lesbare Grafik mit grossen Buchstaben und testest aus wie das a) bei Deiner Zielgruppe ankommt und b) die spammer abhält, Dein Formular auszufüllen.
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Hmm, gut, dass Captchas absichtlich schlecht lesbar sind ist schon klar. Sonst hätten Sie ja keinen Sinn.

                  Ich werd' jetzt einfach mal versuchen ein einfacheres Captcha zu erstellen, ich nehme mal an, hierzu wird die GDLib benötigt und verwendet, oder?
                  Das Genie überblickt das Chaos!

                  Wer Rechtschreibfehler findet, darf sie behalten!

                  Kommentar


                  • #10
                    Ich werd' jetzt einfach mal versuchen ein einfacheres Captcha zu erstellen, ich nehme mal an, hierzu wird die GDLib benötigt und verwendet, oder?
                    Richtig angenommen.
                    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                    Kommentar


                    • #11
                      Ich halte nicht viel von Captchas .... ausserdem gibt es schon OCR Bots mit erstaunlich guten Ergebnissen
                      Man sollte erst alle unsichtbaren Methoden anwenden, bevor man den Besucher mit Suchbildchen nervt oder gar ausschließt.

                      1. cookiezwang
                      2. formwächter
                      3. doppelpost Sperre
                      4. Mit CSS versteckte (honigtopf) Formfelder
                      5. Random Formfeldnamen
                      Die Dumbeutel Bots bleiben damit aussen vor

                      1,2 und 3 kannste hier bewunden:
                      http://www.technischedaten.de/pmwiki...teBuchSchlicht
                      Zuletzt geändert von combie; 19.07.2007, 20:20.
                      Wir werden alle sterben

                      Kommentar


                      • #12
                        @combie

                        Vom Ansatz her finde ich einige deiner Vorschläge sehr interessant.

                        Okay, Cookiezwang find ich jetzt weniger toll, schließt ja noch mehr User aus als die Darstellung eines Bildes.
                        Formwächter kenn ich bis jetzt noch gar nicht, worum handelt es sich hierbei denn?
                        Die idee mit der Doppelpost-Sperre werde ich auf jeden Fall aufnehmen, von honeypots hab ich auch schon gehört, bin mir jetzt aber nicht ganz sicher ob ich das richtig im Hinterkopf habe.
                        Bei einem Honeypot handelt es sich um ein mit CSS verstecktes Feld, welches vom User quasi nicht ausgefüllt werden kann, Bots hingegen sehen ein Feld und füllen es aus. Hab ich das so richtig verstanden? (hab mich bisher nicht wirklich damit befasst).
                        Gut, die Idee mit den Random Formfeldern müsste man sich jetzt genauer ansehen, die klingt schon fast wieder etwas abenteuerlich. Oder beziehst du das nur auf ein einziges Feld? Denn ehrlich gesagt möchte ich keine Seite haben, die dann total strange klingende Feldnamen hat.
                        Das Genie überblickt das Chaos!

                        Wer Rechtschreibfehler findet, darf sie behalten!

                        Kommentar


                        • #13
                          Original geschrieben von chefdesigner
                          ... möchte ich keine Seite haben, die dann total strange klingende Feldnamen hat.
                          Er redet nicht vom <label></label> sondern vom name-Attribut der Inputs. Die sieht keiner, kannste "leckmichamarsch" reinschreiben.

                          Kommentar


                          • #14
                            @onemorenerd Das ist mir schon klar, ich will aber auch sauberen Code haben
                            Das Genie überblickt das Chaos!

                            Wer Rechtschreibfehler findet, darf sie behalten!

                            Kommentar


                            • #15
                              Das "sauberer Code" Argument verstehe ich jetzt nicht ganz...
                              Macht aber auch nix!

                              Und ja der Honypot wurde von dir richtig erkannt!

                              Zum Cookiezwang:
                              Wer heutzutage ohne Cookies unterwegs ist, hat bei eigendlich keinem Shop, Forum oder gar Bank eine Chance. SessionIds per URL kommen zum Glück langsam aus der Mode. Und ohne Sesions bekommst du die Capatchas nicht in den Griff. Also auch da schon der Cookiezwang!!!!


                              Der Formwächter ist ein Zufallswert, welcher in Session und einem Hiddenfield gespeichert wird. Dieser Wert wird bei jeder Formular Auslieferung neu erzeugt. In der Formularauswertung wird dann auf gleichheit geprüft. Das ist auch ein guter F5 Doppelpost Erkenner.

                              Ein Bot müsste also eine Cookieabhandlung durchführen, das Formular analysieren, ausfüllen und abschicken. Honypot und die Randomnamen erschweren das analysieren und ausfüllen.
                              Zuletzt geändert von combie; 20.07.2007, 01:09.
                              Wir werden alle sterben

                              Kommentar

                              Lädt...
                              X