Der Sicherheitscode ist falsch

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Der Sicherheitscode ist falsch

Beitragvon Flepe » 20.01.2011, 10:22

hi hab da ein Problem egal was ich mache ich bekomm es nicht hin das der sicherheitscode richtig ist
hier mein code
datei 1
Code: Alles auswählen
   <html>
   <head><title>Firmling Registration</title></head>
   <link rel="stylesheet" type="text/css" href="formate.css">
   <body>
   <div id="content">
   <h3>Firmling Registration</h3><br/>
   <hr>
   <?php
echo "<form action=\"captcha/check.php\" method=\"get\">";
echo "<table>";
echo "<tr><td>Vorname*</td><td><input type=\"text\" name=\" vname\"></td></tr>";
echo "<tr><td>Nachname*</td><td><input type=\"text\" name=\" nname\"></td></tr>";
echo "<tr><td>Sraße*</td><td><input type=\"text\" name=\" strasse\"></td></tr>";
echo "<tr><td>PLZ*</td><td><input type=\"text\" name=\" plz\"></td></tr>";
echo "<tr><td>Telefon</td><td><input type=\"text\" name=\" telefon\"></td></tr>";
echo "<tr><td>Ort*</td><td><input type=\"text\" name=\" ort\"></td></tr>";
echo "<tr><td>E-Mail*</td><td><input type=\"text\" name=\" mail\"></td></tr>";
echo "<tr><td><p><img src=\"captcha/captcha.php\" alt=\"Hier sollte das Captcha stehen\"></p></td><td><input type=\"text\" name=\"sicherheitscode\" size=\"5\"></td></tr>";
echo "<tr><td></td><td><input type=\"submit\" Value=\"Registrieren\"></td></tr>";
echo "</table>";
echo "</form>";

?>
   <hr>
   </div>
   </body>
</html>

datei2
Code: Alles auswählen
   <html>
   <head><title>Firmling Registration</title></head>
   <link rel="stylesheet" type="text/css" href="./../formate.css">
   <body>
   <div id="content">
   <h3>Firmling Registration</h3><br/>
   <hr>
   <?php
   include("checked.php");
   ?>
   <hr>
   <a href="./../firmling.php"> Zurück zur Firmling Registration</a><p>
   <a href="./../start.html"> Zurück zum Hauptmenü</a><p>
   </div>
   </body>
</html>

und datei 3
Code: Alles auswählen
<?php
//session_start();
   if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam'])
   {
   unset($_SESSION['captcha_spam']);
   if(empty($_POST['ort']) or empty($_POST['mail']) or empty($_POST['plz']) or empty($_POST['strasse']) or empty($_POST['nname']) or empty($_POST['vname']))
   {
      echo"<p>Bitte geben Sie alle Daten ein!</p>";
      echo"<p>Wählen Sie den Zurück zur Firmling Registration Button</p>";
   }
   else
   {
      require("./../login.php");
      $sql="INSERT INTO***** SET
      Vorname=\"$vname\",
      Nachname=\"$nname\",
      Straße=\"$strasse\",
      Telefon=\"$$telefon\",   
      PLZ=\"$PLZ\",
      Ort=\"$Ort\",
      EMail=\"$mail\"";
      if (@mysql_querry($sql))
      {
         echo "<p>Ihr Eintrag wurde hinzugfügt.</p>";
      }else
      {
         echo "<p>Fehler beim Hinzufügen des Eintrages:".mysql_error()."</p>";
      }
      mysql_close($dblink_id);
   }
   }
   else{
   echo "Der Sicherheitscode ist falsch!";
   }
?>
Flepe
 
Beiträge: 1
Registriert: 20.01.2011, 10:18

Re: Der Sicherheitscode ist falsch

Beitragvon torud » 16.03.2011, 10:11

Ich habe seit Februar auch das Problem, dass ein "altes" Formular noch funktioniert, aber alle anderen neuen Formulare mir IMMER die Meldung bringen, dass das Captcha falsch ist, obwohl es definitiv korrekt ist. Scheinbar wurde hier was an den Browsern und/oder der php-Config geändert. Ich dreh auch bald durch, denn ich finde den Fehler nicht.
torud
 
Beiträge: 7
Registriert: 06.11.2007, 11:43

Re: Der Sicherheitscode ist falsch

Beitragvon diabolus33 » 21.07.2011, 00:24

hey... das problem liegt einfach daran, dass die SESSION den Zufallstext nicht mitbekommt, sondern erst beim erneuten aufrufen. Dann ist die Überprüfung, ob die Eingabe korrekt war allerdings schon gelaufen.
Versucht mal, anstatt die Variable $text (in der captcha.php) an die SESSION zu übergeben, den Inhalt einfach in eine textdatei zu schreiben. Vor der Überprüfung wird diese dann ausgelesen und gelöscht (!!!ganz wichtig!!!). Dann könnt ihr prüfen, ob die Eingabe mit dem Inhalt der Textdatei übereinstimmt..

MFG
diabolus33
 
Beiträge: 2
Registriert: 20.07.2011, 23:29

Re: Der Sicherheitscode ist falsch

Beitragvon torud » 21.07.2011, 09:36

Mag sein, dass diese Lösung funktioniert, aber wozu Textdateien benutzen, wenn man eh mit Sessions am Start ist!???
torud
 
Beiträge: 7
Registriert: 06.11.2007, 11:43

Re: Der Sicherheitscode ist falsch

Beitragvon diabolus33 » 21.07.2011, 16:45

hey...

na weil die Session den Text von dem Captcha zu spät mitbekommt, ist zumindest bei mir so. Durch die Textdatei klappt dann auch die If-Abfrage bei der richtigen eingabe des Sicherheitscodes =)
diabolus33
 
Beiträge: 2
Registriert: 20.07.2011, 23:29

Re: Der Sicherheitscode ist falsch

Beitragvon Hansi12 » 11.08.2011, 06:33

diabolus33 hat geschrieben:Versucht mal, anstatt die Variable $text (in der captcha.php) an die SESSION zu übergeben, den Inhalt einfach in eine textdatei zu schreiben. Vor der Überprüfung wird diese dann ausgelesen und gelöscht (!!!ganz wichtig!!!).



Kann man vielleicht mal für einen php Neuling das genauer erklären, bzw das Tutuorial auf der Webseite überarbeiten? Habe es früher schon immer gerne benützt aber nun gehts ja nicht mehr.
Hansi12
 
Beiträge: 1
Registriert: 11.08.2011, 06:28


Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 0 Gäste

cron