Saya memiliki formulir kontak sederhana di aspx. Saya ingin memvalidasi reCaptcha (sisi klien) sebelum mengirimkan formulir. Tolong bantu.
Kode sampel:
<%@ 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>
Saya ingin memvalidasi captcha dengan cmdSubmit
mengklik.
Tolong bantu.
javascript
jquery
asp.net
google-api
recaptcha
Mahatma Aladdin
sumber
sumber
Jawaban:
Verifikasi sisi klien ini dari
reCaptcha
- berikut ini berfungsi untuk saya:jika reCaptcha tidak divalidasi pada
grecaptcha.getResponse();
pengembalian sisi kliennull
, yang lain mengembalikan nilai selainnull
.Kode Javascript:
sumber
Gunakan ini untuk memvalidasi google captcha dengan javascript sederhana.
Kode ini di badan html:
Kode ini diletakkan di bagian kepala pada tombol formulir metode panggilan get_action (ini):
sumber
===
dan!==
; tidak ada alasan untuk tidak melakukannya.Jawaban Paulus yang disederhanakan:
Sumber:
HTML:
JS:
sumber
Jika Anda merender Recaptcha dengan callback
menggunakan DIV kosong sebagai placeholder
lalu Anda dapat menentukan panggilan fungsi opsional pada respons CAPTCHA yang berhasil
Respons recaptcha kemudian akan dikirim ke fungsi 'correctCaptcha'.
Semua ini berasal dari catatan Google API:
Catatan API Google Recaptcha v2
Saya sedikit tidak yakin mengapa Anda ingin melakukan ini. Biasanya Anda akan mengirim bidang g-recaptcha-response bersama dengan kunci Pribadi Anda untuk memvalidasi sisi server dengan aman. Kecuali Anda ingin menonaktifkan tombol kirim sampai recaptcha berhasil atau semacamnya - dalam hal ini hal di atas akan berfungsi.
Semoga ini membantu.
Paul
sumber
Saya menggunakan solusi HarveyEV tetapi salah membacanya dan melakukannya dengan jQuery validate, bukan validator Bootstrap.
sumber
Saya pikir semuanya bagus tetapi saya mengalami masalah saat membuatnya bekerja dengan javascript dan c #. Inilah yang saya lakukan. Semoga bisa membantu orang lain.
sumber
Anda dapat membuat recaptcha Anda menggunakan kode berikut
Kemudian Anda dapat memvalidasi recaptcha Anda dengan menggunakan metode "IsRecapchaValid ()" sebagai berikut.
sumber
Saya menggunakan solusi Palek di dalam validator Bootstrap dan berhasil. Saya akan menambahkan komentar ke dia tetapi saya tidak memiliki perwakilan;). Versi yang disederhanakan:
sumber
Tautan Sumber
Anda cukup memeriksa di sisi klien menggunakan metode grecaptcha.getResponse ()
sumber
Sayangnya, tidak ada cara untuk memvalidasi captcha hanya pada sisi klien (browser web), karena sifat captcha itu sendiri membutuhkan setidaknya dua aktor (sisi) untuk menyelesaikan prosesnya. Sisi klien - meminta manusia untuk memecahkan beberapa teka-teki, persamaan matematika, pengenalan teks, dan responsnya dikodekan oleh algoritme bersama dengan beberapa metadata seperti cap waktu penyelesaian captcha, kode tantangan pseudo-random. Setelah sisi klien mengirimkan formulir dengan kode respons captcha, sisi server perlu memvalidasi kode respons captcha ini dengan seperangkat aturan yang telah ditentukan, yaitu. jika captcha diselesaikan dalam waktu 5 menit, jika alamat IP klien sama dan seterusnya. Ini adalah deskripsi yang sangat umum, bagaimana captcha bekerja, setiap implementasi (seperti ReCaptcha Google, beberapa penyelesaian persamaan matematika dasar captcha buatan sendiri),
NB. Klien (browser web) memiliki opsi untuk menonaktifkan eksekusi kode JavaScript, yang berarti solusi yang diajukan sama sekali tidak berguna.
sumber
Validasi captcha diperlukan.
sumber
Ini akan bekerja seperti yang diharapkan.
sumber
Google reCAPTCHA versi 2 ASP.Net memungkinkan memvalidasi respons Captcha di sisi klien menggunakan fungsi Callback-nya. Dalam contoh ini , reCAPTCHA baru Google akan divalidasi menggunakan ASP.Net RequiredField Validator.
sumber