Adam_77: Kontaktformular Spamschutz

Hallo,

ich wende mich an euch, da ich an einem Problem sitze und selber nicht weiter komme und im Netz keine gute Seite mit infos finde.

Ich habe ein Kontaktformular, dass Opfer von Spamattacken geworden ist indem jemand im Feld Emailadresse ganz viele EmailAdressen eingegeben hat.

Also würde ich so etwas gerne auschließen. Aber wie? Ich nehme an, dass ich testen muss ob ein Komma oder Semikolon im Feld eingegeben wurde. Also dass jemand halt mehrere E-mail-Adressen durch Komma und Semikolon getrennt eingibt.

??

Im Augenblick teste ich nur so ob die Mail richtig ist

(!ereg("^.+@.+\..+$", $_POST['Email'])

kann man da irgendwie einbauchen, dass nur EINE Emailadresse dort stehen darf??

Kennt jemand eine gute Seite, die über php-code verfügt zum Spam Schutz?..ohne captcha.

Vielen Dank für eure Hilfe.
Adam

  1. Hi,

    Ich habe ein Kontaktformular, dass Opfer von Spamattacken geworden ist indem jemand im Feld Emailadresse ganz viele EmailAdressen eingegeben hat.
    Also würde ich so etwas gerne auschließen. Aber wie? Ich nehme an, dass ich testen muss ob ein Komma oder Semikolon im Feld eingegeben wurde. Also dass jemand halt mehrere E-mail-Adressen durch Komma und Semikolon getrennt eingibt.

    Im Augenblick teste ich nur so ob die Mail richtig ist
    (!ereg("^.+@.+\..+$", $_POST['Email'])

    Naja, damit testest Du nur, daß die E-Mail-Adresse nicht komplett gegen alle Regeln verstößt.

    Die ereg-Funktionen solltest Du dafür aber nicht mehr nutzen, die sind schon auf deprecated gesetzt und werden in einer der nächsten Versionen aus PHP entsorgt.

    kann man da irgendwie einbauchen,

    Das geht meist durch Fressen ;-)

    dass nur EINE Emailadresse dort stehen darf??

    Man kann das vielleicht in einem Ausdruck unterbringen. Es dürfte aber leichter sein, eine zweite Prüfung vorzunehmen, mit einer negierten Zeichenklasse, die alle Trennzeichen zwischen E-Mail-Adressen enthält (Komma, Semikolon, Leerzeichen, Tab, ...)

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. hallo

      Vielen Dank für eure Antworten..
      Also es stimmt, ich müsste die Mail an den user rausnehmen.
      Das wäre das beste.

      ich habe die Befürchtung, dass dies vom Besitzer der Seite ungern durchgeführt wird.

      Für den Fall, dass es drin bleibt wollte ich den code verbessern und stehe php-mäßig auf dem Schlauch.

      Mit welchem Ausdruck könnte ich denn testen, ob in der Variable $email entweder ein Semikolon oder ein Komma oder ein leerzeichen oder ein Tab enthalten ist?

      Ich hoffe, ihr helft mir noch mal
      vielen Dank
      adam

      1. Thema erledigt.. hier gibt es noch eine Funktion, die mir weitergeholfen hat.

        vielen Dank an euch für eure Informationen!
        lg Adam

        1. Pasten vergessen.. hier von mir kopierte  Funktion

          http://www.zudila.ch/scripte/php_mail.php

          1. Hi!

            Pasten vergessen.. hier von mir kopierte  Funktion
            http://www.zudila.ch/scripte/php_mail.php

            Mit einer aktuelen PHP-Version kannst du auch die Filterfunktionen bemühen. Es gibt da nämlich eine Validation-Funktion für Email-Adressen.

            Lo!

  2. Was genau ist dann passiert? Ein Kontaktformular schickt üblicherweise genau dir eine Mail und du antwortest dann der Adresse die da angegeben ist.

    Zu Spamschutz find ich bei Google unter "kontaktformular spamschutz" schon ne ganze Menge.

    Die einfachste Prüfung wäre die Länge zu beschränken und keine Leerzeichen und Kommas usw. zulassen.
    Ich weiß nicht wo dein Kontaktformular eingebaut ist, aber wenn ich auf einer Seite einen Hinweis geben will, z.B. dass irgendwas nicht funktioniert oder sonstige Fehler entdecke, da will ich nicht unbedingt gleich meine Mailadresse angeben. Entweder der Betreiber freut sich über meinen Hinweis, oder ich lass es bleiben. Daher weiß ich nicht ob dir Prüfung auf eine gültige Adresse überhaupt so eine sinnvolle Idee ist.

  3. Hi,

    Ich habe ein Kontaktformular, dass Opfer von Spamattacken geworden ist indem jemand im Feld Emailadresse ganz viele EmailAdressen eingegeben hat.

    heißt das, dein Script sendet Mails an eine vom Benutzer eingegebene Adresse? Das ist an sich schon problematisch! Denn auch wenn sichergestellt ist, dass nur *eine* Mailadresse eingetragen werden kann (oder nur eine beachtet wird), kann jemand das Formular missbrauchen, um anonym eine Nachricht an einen beliebigen Empfänger zu senden.

    Die Tatsache, dass es in deinem Fall auch mit mehreren Empfängern funktioniert, multipliziert das Problem nur; der Ansatzpunkt muss aber die Tatsache an sich sein: Niemals automatisch Mails an unbekannte oder unverifizierte Adressen senden!

    Kennt jemand eine gute Seite, die über php-code verfügt zum Spam Schutz?..ohne captcha.

    Nicht für deinen speziellen Fall - du musst am Grundprinzip etwas ändern.
    Der Nutzer des Kontaktformulars kann gern seine eigene Mailadresse eingeben, damit du ihm antworten kannst.

    So long,
     Martin

    --
    Die späteren Ehen sind oft glücklicher als die erste, weil das natürliche Ende bereits absehbar ist.
      (George Bernhard Shaw)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(