Mam prosty formularz kontaktowy w aspx. Chcę zweryfikować reCaptcha (po stronie klienta) przed wysłaniem formularza. Proszę pomóż.
Przykładowy kod:
<%@ 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>
Chcę sprawdzić captcha po cmdSubmit
kliknięciu.
Proszę pomóż.
javascript
jquery
asp.net
google-api
recaptcha
Mahatma Aladdin
źródło
źródło
Odpowiedzi:
Ta weryfikacja po stronie klienta
reCaptcha
- działała dla mnie:jeśli reCaptcha nie jest sprawdzana po stronie klienta
grecaptcha.getResponse();
zwrotównull
, w przeciwnym wypadku zwraca wartość jest inne niżnull
.Kod JavaScript:
źródło
Użyj tego, aby sprawdzić poprawność google captcha za pomocą prostego kodu JavaScript.
Ten kod w treści html:
Ten kod znajduje się w sekcji nagłówka przycisku formularza metody get_action (this):
źródło
===
i!==
; nie ma powodu, żeby tego nie robić.Uproszczona odpowiedź Pawła:
Źródło:
HTML:
JS:
źródło
Jeśli renderujesz Recaptcha podczas wywołania zwrotnego
używając pustego DIV jako symbolu zastępczego
następnie możesz określić opcjonalne wywołanie funkcji w pomyślnej odpowiedzi CAPTCHA
Odpowiedź recaptcha zostanie następnie wysłana do funkcji „correctCaptcha”.
Wszystko to pochodzi z notatek Google API:
Notatki API Google Recaptcha v2
Nie jestem pewien, dlaczego chcesz to zrobić. Zwykle wysyłasz pole odpowiedzi g-recaptcha wraz z kluczem prywatnym, aby bezpiecznie sprawdzić poprawność po stronie serwera. Chyba że chciałeś wyłączyć przycisk wysyłania, dopóki recaptcha nie zakończy się sukcesem lub tak - w takim przypadku powyższe powinno działać.
Mam nadzieję że to pomoże.
Paweł
źródło
Użyłem rozwiązania HarveyEV, ale źle je odczytałem i zrobiłem to z walidacją jQuery zamiast walidatorem Bootstrap.
źródło
Myślałem, że wszystkie z nich są świetne, ale miałem problemy ze zmontowaniem ich do pracy z javascript i c #. Oto co zrobiłem. Mam nadzieję, że pomoże to komuś innemu.
źródło
możesz renderować swoją recaptcha za pomocą następującego kodu
Następnie możesz zweryfikować swoją recaptcha za pomocą metody „IsRecapchaValid ()” w następujący sposób.
źródło
Użyłem rozwiązania Palek w walidatorze Bootstrap i działa. Dodałbym komentarz do jego, ale nie mam przedstawiciela;). Wersja uproszczona:
źródło
Link do źródła
Możesz po prostu sprawdzić po stronie klienta za pomocą metody grecaptcha.getResponse ()
źródło
Niestety, nie ma sposobu, aby zweryfikować captcha tylko po stronie klienta (przeglądarka internetowa), ponieważ sama natura captcha wymaga co najmniej dwóch aktorów (stron) do ukończenia procesu. Po stronie klienta - prosi człowieka o rozwiązanie jakiejś zagadki, równania matematycznego, rozpoznawania tekstu, a odpowiedź jest kodowana przez algorytm wraz z niektórymi metadanymi, takimi jak captcha rozwiązywanie znaczników czasu, pseudolosowy kod wyzwania. Gdy strona klienta prześle formularz z kodem odpowiedzi captcha, strona serwera musi zweryfikować ten kod odpowiedzi captcha za pomocą predefiniowanego zestawu reguł, tj. jeśli captcha zostanie rozwiązana w ciągu 5 minut, jeśli adresy IP klienta są takie same i tak dalej. To bardzo ogólny opis działania captcha, każdej implementacji (jak Google ReCaptcha, kilka podstawowych funkcji matematycznych rozwiązywania samodzielnie utworzonych captcha),
NB. Klient (przeglądarka internetowa) ma możliwość wyłączenia wykonywania kodu JavaScript, co oznacza, że proponowane rozwiązania są całkowicie bezużyteczne.
źródło
Wymagana jest weryfikacja Captcha.
źródło
Będzie działać zgodnie z oczekiwaniami.
źródło
Google reCAPTCHA w wersji 2 ASP.Net umożliwia walidację odpowiedzi Captcha po stronie klienta za pomocą funkcji wywołania zwrotnego. W tym przykładzie nowa reCAPTCHA Google zostanie zweryfikowana za pomocą walidatora ASP.Net RequiredField.
źródło