Ich habe ein einfaches Kontaktformular in aspx. Ich möchte das reCaptcha (clientseitig) validieren, bevor ich das Formular abschicke. Bitte helfen Sie.
Beispielcode:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Test Form</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script>
$("#cmdSubmit").click(function () {
//need to validate the captcha
});
</script>
</head>
<body>
<form id="form1" runat="server">
<label class="clsLabe">First Name<sup>*</sup></label><br />
<input type="text" id="txtFName" name="txtFName" class="clsInput" /><br />
<div class="g-recaptcha" data-sitekey="my_key"></div>
<img id="cmdSubmit" src="SubmitBtn.png" alt="Submit Form" style="cursor:pointer;" />
</form>
</body>
</html>
Ich möchte das Captcha beim cmdSubmit
Klicken validieren .
Bitte helfen Sie.
javascript
jquery
asp.net
google-api
recaptcha
Mahatma Aladdin
quelle
quelle
Antworten:
Diese clientseitige Überprüfung von
reCaptcha
- hat bei mir funktioniert:Wenn reCaptcha auf clientseitigen
grecaptcha.getResponse();
Rückgaben nicht validiert istnull
, wird andernfalls ein anderer Wert als zurückgegebennull
.Javascript Code:
quelle
Verwenden Sie diese Option, um Google Captcha mit einfachem Javascript zu validieren.
Dieser Code im HTML-Text:
Dieser Code wird im Kopfabschnitt des Aufrufs der Formularschaltfläche get_action (this) eingefügt:
quelle
===
und verwenden!==
; Kein Grund, es nicht zu tun.Vereinfachte Antwort von Paulus:
Quelle:
HTML:
JS:
quelle
Wenn Sie das Recaptcha bei einem Rückruf rendern
Verwenden eines leeren DIV als Platzhalter
Anschließend können Sie einen optionalen Funktionsaufruf für eine erfolgreiche CAPTCHA-Antwort angeben
Die Recaptcha-Antwort wird dann an die Funktion 'korrektCaptcha' gesendet.
All dies stammt aus den Google API-Hinweisen:
Hinweise zur Google Recaptcha v2-API
Ich bin mir ein bisschen unsicher, warum Sie das tun möchten. Normalerweise senden Sie das Feld g-recaptcha-response zusammen mit Ihrem privaten Schlüssel, um die serverseitige Überprüfung sicher durchzuführen. Es sei denn, Sie wollten die Senden-Schaltfläche deaktivieren, bis die erneute Erfassung erfolgreich war oder so - in diesem Fall sollte das oben genannte funktionieren.
Hoffe das hilft.
Paul
quelle
Ich habe die HarveyEV-Lösung verwendet, sie jedoch falsch gelesen und mit jQuery validate anstelle von Bootstrap validator ausgeführt.
quelle
Ich fand sie alle großartig, aber ich hatte Probleme, sie dazu zu bringen, mit Javascript und c # zu arbeiten. Hier ist was ich getan habe. Hoffe es hilft jemand anderem.
quelle
Sie können Ihre Recaptcha mit folgendem Code rendern
Anschließend können Sie Ihr Recaptcha mithilfe der folgenden Methode "IsRecapchaValid ()" überprüfen.
quelle
Ich habe Paleks Lösung in einem Bootstrap-Validator verwendet und sie funktioniert. Ich hätte seinem einen Kommentar hinzugefügt, aber ich habe keinen Repräsentanten;). Vereinfachte Version:
quelle
Quelllink
Sie können einfach auf der Clientseite mit der Methode grecaptcha.getResponse () überprüfen
quelle
Leider gibt es keine Möglichkeit, das Captcha nur auf der Clientseite (Webbrowser) zu validieren, da für die Art des Captcha selbst mindestens zwei Akteure (Seiten) erforderlich sind, um den Vorgang abzuschließen. Die Client-Seite - fordert einen Menschen auf, ein Rätsel, eine mathematische Gleichung oder eine Texterkennung zu lösen, und die Antwort wird von einem Algorithmus zusammen mit einigen Metadaten wie Captcha-Zeitstempel und pseudozufälligem Herausforderungscode codiert. Sobald die Clientseite das Formular mit einem Captcha-Antwortcode sendet, muss die Serverseite diesen Captcha-Antwortcode mit einem vordefinierten Regelsatz validieren, d. H. Wenn Captcha innerhalb von 5 Minuten gelöst wurde, wenn die IP-Adressen des Clients identisch sind und so weiter. Dies ist eine sehr allgemeine Beschreibung, wie Captchas funktionieren, jede einzelne Implementierung (wie Googles ReCaptcha, einige grundlegende mathematische Methoden, die selbst erstellte Captchas lösen),
NB. Der Client (Webbrowser) hat die Möglichkeit, die Ausführung von JavaScript-Code zu deaktivieren, was bedeutet, dass die vorgeschlagenen Lösungen völlig unbrauchbar sind.
quelle
Eine Captcha-Validierung ist erforderlich.
quelle
Es wird wie erwartet funktionieren.
quelle
Das ASP.Net von Google reCAPTCHA Version 2 ermöglicht die Überprüfung der Captcha-Antwort auf der Clientseite mithilfe der Rückruffunktionen. In diesem Beispiel wird das neue reCAPTCHA von Google mit ASP.Net RequiredField Validator validiert.
quelle