Captcha im Formular

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

  • Captcha im Formular

    Hi! Ich habe ein Kontaktformular mit einem Captcha. Leider weiß ich nicht, wie ich den originalen "Code" im Captcha übergebe, ohne dass ein fieser "Spambot" das (mit welchen Mitteln auch immer) auslesen könnte ohne das Bild an sich zu analysieren. Habe da Ansätze gesehen, die über Sessions gehen, würde ich aber am liebsten einfacher lösen, weils ja dann wieder nen Cookie-Problem usw. gibt. Meine erste Idee war, den Wert in einem hidden-feld zu übergeben, aber das ist wohl nen bisschen billig.
    Ich weiß dass dieses Thema schon mehrmals durchgekaut wurde, habe aber nichts direktes zu meinem Problem gefunden (weils wahrscheinlich zu einfach ist). Vielleicht nicht die richtigen Suchwörter :-/.
    Beste Grüße, Andreas
    andreas.mkq.de

  • #2
    Meine erste Idee war, den Wert in einem hidden-feld zu übergeben, aber das ist wohl nen bisschen billig.
    So könntest du das mit dem Captcha genau so gut lassen. Der Code gehört imho in eine Session Var.
    Habe da Ansätze gesehen, die über Sessions gehen, würde ich aber am liebsten einfacher lösen, weils ja dann wieder nen Cookie-Problem usw. gibt
    Was meinst du mit Cookie Problem ? Ich würde in diesem Falle eh ganz auf das Setzen von Cookies verzichten und die Session ID via GET Parameter weiterschleifen
    Ein
    PHP-Code:
    ini_set('session.use_cookies',0); 
    vor dem session_start() verhindert, dass ein Cookie gesetzt wird.

    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


    • #3
      Ein

      PHP:
      ini_set('session.use_cookies',0);

      vor dem session_start() verhindert, dass ein Cookie gesetzt wird.
      Da Session-Cookies durchaus sinnvoll sind, würde ich darauf verzichten. Überlass es dem Browser/User ob Cookies erwünscht sind oder nicht.

      Kommentar


      • #4
        Danke, jetzt funktionierts... War ja doch nicht schwer .
        Ich eröffne jetzt einfach ne Session und speichere meine Zufallszahl (die dann im Captcha angezeigt wird) als Session-Variable. Die SID habe ich in ein hidden-Feld ins Formular gepackt (ist das jetzt so, wie ihr mir das empfohlen habt?).
        Naja, auf alle Fälle funktionierts und ich danke euch!
        andreas.mkq.de

        Kommentar


        • #5
          ich würd sie da nur reinschreiben, wenn sie nicht im cookie gespeichert wurde.

          Kommentar


          • #6
            So ?
            PHP-Code:
            <? if(!count($_COOKIE)) { ?>
             <input type="hidden" name="PHPSESSID" value="<?=session_id()?>">
            <? }?>
            Bei mir hats so funktioniert, seh ich aber zum 1. Mal und bin mir nicht sicher...
            andreas.mkq.de

            Kommentar


            • #7
              ansatz ist ganz gut, wobei ich explizit auf ein cookie mit dem namen der session_id prüfen würde.

              ansonsten sieh dir aber mal die einstellung session.use_trans_sid an. Die macht das automatisch.

              Versuche aber auch zu verstehen, warum man die Session im Cookie überträgt und warum nicht. Dann kannst DU entscheiden, wie du die SID gerne übergeben würdest.

              Kommentar

              Lädt...
              X