Problem mit Kontaktformular

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

  • Problem mit Kontaktformular

    Hallo zusammen

    ich habe einfaches HTML Formular gebastelt das ausgefüllt per Email verschickt wird:
    PHP-Code:
    $email_header "From: ".$email;
    $text "Request-URI: ".$_SERVER["REQUEST_URI"]."\n";
    $text .= "User-Agent: ".$_SERVER["HTTP_USER_AGENT"]."\n";
    $text .= "Remote-Addr: ".$_SERVER["REMOTE_ADDR"]."\n";
    $text .= "Remote-Port: ".$_SERVER["REMOTE_PORT"]."\n\n";
    $text .= "Firma: ".$firma."\r\nName: ".$name."\r\nTelefon: ".$telefon."\r\nEmail: ".$email."\r\nAnliegen:\r\n".$anliegen;
    $text str_replace("\r\n""\n"$text);
    $text stripslashes($text);
    $text str_replace("%quotes%""\""$text);
    $text stripslashes($text);

    $subject "Kontaktformular Anliegen";
    $subject stripslashes($subject);
    $subject str_replace("%quotes%""\""$subject);
    $subject stripslashes($subject);

    $address="info@aragorn.ch";
    $mail_send mail($address,$subject,$text,$email_header); 
    Nun hab ich das Problem, dass täglich Mails wie diese unten reinkommen:

    f262f69df0515838bf0f3f78e73105d5

    .



    Request-URI: /cntKontakt.html
    User-Agent:
    Remote-Addr: 216.187.73.58
    Remote-Port: 59615

    Firma: t9456@luisa.ch
    Name: t9456@luisa.ch
    Telefon: t9456@luisa.ch
    Email: clothes
    Content-Type: text/plain; charset="us-ascii"
    MIME-Version: 1.0
    Content-Transfer-Encoding: 7bit
    Subject: less quizzical than
    bcc: charleslegbe@aol.com

    f262f69df0515838bf0f3f78e73105d5
    .

    Anliegen:
    t9456@luisa.ch

    was kann ich dagegen tun?
    Zuletzt geändert von ; 07.12.2005, 13:09.

  • #2
    Ein Test auf (Referer == Formularseite) genügt meist schon, aber sicher ist er nicht. Wenn du Spambots (und danach siehts mir aus) ausschließen willst, dann am besten mit Captchas.

    Kommentar


    • #3
      http://www.php-resource.de/forum/sho...threadid=50454

      Kommentar


      • #4
        Test auf (Referer == Formularseite) genügt meist schon
        mit meinem Firefox lasse ich beim Surfen zum Beispiel den Referer nicht mitschicken..., dann würde das nicht funktionieren...

        dann am besten mit Captchas.
        jepp, das würde gehen. Nur finde ich das bei einem normalen Kontaktformular ein bisschen doof wenn mögliche Interessent nur zum schicken einer Mitteilung das machen muss...

        Gibt es eventuell noch andere Lösungsmöglichkeiten?


        http://www.php-resource.de/forum/sh...&threadid=50454
        danke, hab den Beitrag "korrigiert".

        Kommentar


        • #5
          Leider recht wenig, denn wie willst du den Mensch von einem Computer unterscheiden? (Außer durch die eingabe eines "Bild-Codes")

          So ziemlich alle Vorgänge die beim Ausfüllen des Forms passieren, kannst du auch automatisieren. Das hat vorteile, aber eben auch nachteile.

          Wenn der/die Bot(s) für alle Felder die gleichen Werte sendet/n, dann kannst du das ja ohne Probleme verhindern. Ein Name oder eine Telefonnummer sollte z.B. im Normalfall kein @ enthalten. Das kannst du prüfen.

          Kommentar


          • #6
            Wie TobiaZ sagte, muß man Menschen irgendwie zuverlässig von Maschinen unterscheiden. Das ist nur möglich, wenn der Mensch agiert, also einen Mindestaufwand muß man ihm immer zumuten.

            Die Unterscheidung kann man auf verschiedene Weisen versuchen, die eines gemeinsam haben: Sie stützen sich auf menschliche Fähigkeiten, die Maschinen (noch) nicht leisten können.

            Bei genauerer Betrachtung zerfällt das in mehrere Klassen (Aufzählung evtl. unvollständig):
            a) rezeptorische Fähigkeiten
            b) kombinatorische Fähigkeiten
            c) motorische Fähigkeiten

            Alle haben Nachteile, die sich direkt aus den entsprechenden Behinderungen ergeben und sich durch Kombination leider nicht aufheben sondern addieren. Trotzdem sind Mischformen vorstellbar.

            Der z.Z. gängigste Ansatz ist rezeptorisch (Captcha), weil er am einfachsten realisierbar, resourcenschonend und zuverlässig ist.

            Eine kombinatorische Lösung könnte etwa so aussehen, daß man dem User eine logische oder eine Sachfrage stellt, die er korrekt beantworten muß.

            Motorische Fähigkeiten würde man erkennen, wenn der User einen wandernden Punkt schnell einfängt und darauf klickt.

            Soweit zur Theorie, aber wenn man bedenkt, was im Web möglich und sinnvoll ist, .... da bleibt nicht viel übrig.

            Kommentar


            • #7
              @ onemorenerd: Wo kaufst du deine Drogen?
              @ JayQ: ähnliches problem hatte ich auch, bis ich irgendwann man auf die idee gekommen bin. Man baut eine Listbox z.B:
              [ ]
              Homepage
              Vorschläge/Bugreport
              etc. etc.
              die erste Auswahl läßt man leer und wenn nichts ausgewählt wurde soll ne Fehlermeldung ausgegeben werden und die mail nicht versendet werden. Auf der Seite, wo Spam her kam, hat es dann aufgehört, weil die wahrscheinlich eine std. Spambot laufen lassen...

              Kommentar


              • #8
                @archie: Hasenheide
                Nein im Ernst, was soll die Frage. JayQ möchte dem User nicht zumuten, wenige Zeichen abzutippen und fragt, ob man mit weniger oder ganz ohne Aufwand absichern kann. Ich habe ihm erklärt, warum das nicht möglich ist. Und hey, ich habe mich noch kurz gefaßt!
                Deine Idee paßt insofern nicht, dass sie eine Kategorisierung der Anfragen einführt, die so nicht vorgesehen ist und gleichzeitig bedeutet das ja ebenfalls einen weiteren Aufwand seitens des Users. Außerdem schützt sie nur vor wirlkich stupiden Bots und gegen diese genügt schon der Verzicht auf mail, from, to, subject bzw. deren Übersetzungen als Namen der Eingabefelder.
                Zuletzt geändert von onemorenerd; 07.12.2005, 15:38.

                Kommentar


                • #9
                  @onemorenerd
                  OffTopic:
                  ich denke archie hatte rein interessehalber gefragt um evtl. an eine günstigere Quelle zu gelangen - bin sicher die Frage hatte nichts mit deinem vorigen Post zu tun
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    hm, dann versuch ich das mal so:

                    Code:
                    Dürfen wir Sie bei speziellen Neuigkeiten informieren?
                    <select name="interesse">
                      <option value="JA">JA</option>
                      <option value="NEIN">NEIN</option>
                    </select>
                    Und dann im PHP - Skript folgendes einbauen:

                    PHP-Code:
                    if(array_key_exists("interesse"$_POST))
                    {
                      
                    // weitere Anweisungen
                    }
                    else
                    {
                      
                    // böser Bot, abbrechen und Fehlermeldung ausgeben

                    wie findet ihr das?

                    Kommentar


                    • #11
                      Du hast nicht zugehört: Das bringt nichts! Denn es ist nicht besser als TobiaZ' Antwort (kein Mehrwert) und außerdem hat das Ausnutzen spezifischer Eigenheiten der Mehrheit der Bots nichts mit Sicherheit zu tun.

                      Du glaubst wahrscheinlich auch immernoch, wenn du deine Mailadresse in &#<ASCII oder Hex> umwandelst, bekommst du nie Spam.

                      Kommentar


                      • #12
                        Original geschrieben von onemorenerd
                        Du hast nicht zugehört: Das bringt nichts! Denn es ist nicht besser als TobiaZ' Antwort (kein Mehrwert) und außerdem hat das Ausnutzen spezifischer Eigenheiten der Mehrheit der Bots nichts mit Sicherheit zu tun.

                        Du glaubst wahrscheinlich auch immernoch, wenn du deine Mailadresse in &#<ASCII oder Hex> umwandelst, bekommst du nie Spam.
                        $address="info@aragorn.ch";

                        Natürlich, wenn die nicht einfach so irgendwo sonst nocht steht, dann hilft aber auch:
                        $email = str_replace("@","<img src=\"at.gif\" align=\"middle\">", $email);

                        Kommentar


                        • #13
                          @archie
                          Und wenn man eine OCR Software verwendet? Dann dürfte auch dein @ als gif gefunden werden.


                          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


                          • #14
                            Ganz so blöde sind sind Bots heute nicht mehr, sie erkennen ASCII- und Hex-Zeichen und suchen garantiert mit regulären Ausdrücken - [:mailaccount:](@|at|ät|<img.*".*at.*\.(gif|jpg|png)".*>)[:domain:] ist da sicher nur ein Teilausdruck ...

                            außerdem hat das Ausnutzen spezifischer Eigenheiten der Mehrheit der Bots nichts mit Sicherheit zu tun.
                            Also nenne mir bitte ein einziges Beispiel, was nachweislich heute und in aller Ewigkeit davor schützt, dass ein Bot ein Formular ausfüllt. Denk aber bitte 10 Minuten darüber nach!

                            Kommentar

                            Lädt...
                            X