reCAPTCHA: Warum kann ich das gleiche Ergebnis nicht zweimal überprüfen?

8

Ich meine, wenn ich die Eingabe des ersten Clients überprüfe und es OK ist, ist die zweite Überprüfung des gleichen Eingangs immer falsch ... Warum ist das so?

Ich brauche wirklich die Fähigkeit, es zweimal zu überprüfen (eins für die clientseitige Validierung und zweites für die serverseitige Validierung)

Vielen Dank im Voraus !!!

BEARBEITEN

Klärung:

Wenn die Benutzereingaben in Ordnung sind und recaptcha true zurückgibt (ich mache es über Ajax zu meinem Server, der eine Anfrage an recaptchas Server sendet), sendet das Formular und sendet über POST auch 2 Variablen: recaptcha_challenge_field value und recaptcha_response_field value ( was bereits überprüft wurde) und als mein Server den Server von Recaptcha anfordert, diese beiden Werte erneut zu überprüfen, um die serverseitige Validierung durchzuführen.

Jquery-Code:

%Vor%

Wie Sie sehen können, gibt es zwei absolut identische Operationen mit unterschiedlichen Ergebnissen (es wird nur FAILED gemeldet).

    
Vitali Ponomar 10.02.2012, 12:07
quelle

2 Antworten

6

Weil es in einer Sitzung gespeichert wird, die gelöscht wird, wenn das Ergebnis gesendet wird. Beim Laden der Seite wird eine neue Sitzungsvariable für diesen CAPTCHA-Wert generiert.

    
Barry Chapman 10.02.2012, 12:17
quelle
2

Um Captcha zweimal über AJAX / Jquery und auf einer Serverseite zu validieren, ist dies meine Technik mit PHP (die Grundidee besteht lediglich darin, Captchas Session-Variablen wiederherzustellen, die durch die Captcha-Check-Methode gelöscht wurden, wenn das korrekte Captcha auf der Client-Seite eingegeben wurde Sie werden für die serverseitige Validierung wieder da sein:

  1. Das Folgende mag verwirrend erscheinen, da es eine meiner Möglichkeiten ist, die clientseitige Validierung sowohl auf dem HTML-Formular als auch auf der Aktionsseite des HTML-Formulars zu verwenden.

  2. Fügen Sie im HTML-Formular eine zusätzliche POST-Variable hinzu (z. B. $ _POST ["task"]="validate", die kein Eingabeelement in dem Formular ist, das bei der Formularübermittlung an die clientseitige Validierungs-PHP-Seite übergeben wird / p> %Vor%

  3. Auf der clientseitigen Validierungs-PHP-Seite

    %Vor%
  4. Auf der serverseitigen Validierungsseite oder der Formularaktions-URL ist die Captcha-Sitzung für die Validierung intakt.

MrTan 09.09.2012 09:53
quelle

Tags und Links