Ergebnis 1 bis 5 von 5

Thema: Captcha_Geschichte

  1. #1
    Interessierte/r
    Registriert seit
    24.09.2004
    Ort
    Ispringen bei PF
    Beiträge
    149
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Captcha_Geschichte

    Hi,

    habe folgende Schnipsel aus einem alten Thread geklaut.

    jpeg.php
    Code:
    <?php
    session_start&#40;&#41;;
    
    $new_code2="";
    
    $chars = "qwertzuiopasdfghjklyxcvbnmQWERTZUIOPASDFGHJKLYXCVBNM1234567890";
    
    for &#40;$i=1; $i<7; $i++&#41;
    &#123;
      $code = $code.$chars&#91;mt_rand &#40;0,strlen&#40;$chars&#41;-1&#41;&#93;;
    &#125;
    //  echo "String&#58;$code";
    $_SESSION&#91;'new_code2'&#93; = $code;
    
    Header&#40;"Expires&#58; Mon, 26 Jul 1997 05&#58;00&#58;00 GMT"&#41;;
    Header&#40;"Content-type&#58; image/jpeg"&#41;;
    $pic=ImageCreate&#40;100,25&#41;; //&#40;breite, höhe&#41;
    $col1=ImageColorAllocate&#40;$pic,255,255,255&#41;;
    $col2=ImageColorAllocate&#40;$pic,138,138,138&#41;;
    ImageFilledRectangle&#40;$pic, 0, 0, 100, 25, $col2&#41;;
    ImageRectangle&#40;$pic, 1, 1, 98, 23, $col1&#41;;
    for &#40;$i = 0; $i < 6; $i++&#41;
    &#123;
       ImageString&#40;$pic, mt_rand&#40;3, 5&#41;, &#40;14*$i+10&#41;, mt_rand&#40;3, 6&#41;, substr&#40;$code, $i, 1&#41;, $col1&#41;;
    &#125;
    ImageJPEG&#40;$pic&#41;;
    ImageDestroy&#40;$pic&#41;;
    ?>
    jpeg2.php
    Code:
    <?PHP
    
    echo '[img]jpeg.php?'.$code.'[/img]';
    
    if &#40;$spam == "kontrolle"&#41;&#123;
      if&#40;$_POST&#91;'new_code'&#93; != $_SESSION&#91;'new_code2'&#93;&#41; &#123;
        die&#40;"Falscher Code!"&#41;;
      &#125;
      else &#123;
        echo "Code richtig!";
      &#125;
    &#125;
    
    ?>
    
    <!doctype html public "-//W3C//DTD HTML 4.0//EN">
    <html>
    <head>
      <title>Spamschutz</title>
    </head>
    <body>
    <form action="jpeg2.php" method="post">
    <input type="text" name="new_code">
    <button type="submit" name="spam" value="kontrolle">Formprüfung</button>
    </form>
    
    <?PHP
    session_start&#40;&#41;;
    $data=session_encode&#40;&#41;;
    echo "$data
    ";
    ?>
    
    </body>
    </html>
    Aus einem zufälligen String wird ein Bild erzeugt welcher zum Absenden des kontaktformulars überprüft werden soll.

    Jetzt habe ich das problem, dass der eingegebene Code immer falsch ist. Weiter unten wird der String gezeigt (theoretisch!) der zu dem Bild passen müstte, zur Abfrage. Es wird aber immer der String des vorherigen bildes gezeigt.

    Hat jemand eine Idee wo er Fehler liegt?


    Grüße und gutes neues Jahr
    Matthias
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Gruß

    Matthias

  2. #2
    Azubi(ne)
    Registriert seit
    27.11.2006
    Beiträge
    86
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Oje. in der jpeg2.php wirfst du einiges durcheinander.

    session_start() an den Anfang.
    woher kommt $code? das muss doch eigentlich die sessionid sein.
    lieber mit $_POST['spam'] arbeiten

    $data=session_encode();
    echo "$data
    ";
    was soll das?

  3. #3
    Interessierte/r
    Themenstarter

    Registriert seit
    24.09.2004
    Ort
    Ispringen bei PF
    Beiträge
    149
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Habe die Anregungen mal eingebaut, es geht aber genausowenig wie vorher.

    Das "$data=session_encode();" habe ich nur eingebaut, damit ich sehe wie die Variable belegt ist, da die Prüfung immer falsch ist.

    Es wird also immer in $new_code2 der String vom letzten Bild gespeichert, so kann die Prüfung nicht funktionieren.

    Warum ist das so (verstehe ich nicht) und wie mache ich es bitte richtig?
    Warum muss die Session ID hinter die src-Anweisung des Bildes?
    Gruß

    Matthias

  4. #4
    Azubi(ne)
    Registriert seit
    27.11.2006
    Beiträge
    86
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    hm ich kann dir http://www.deruwe.de/captcha.html empfehlen (sorry für die unpassende antwort)

  5. #5
    Interessierte/r
    Themenstarter

    Registriert seit
    24.09.2004
    Ort
    Ispringen bei PF
    Beiträge
    149
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    is doch supi

    Danke...
    Gruß

    Matthias

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •