reCAPTCHA v3 menampilkan skor untuk setiap permintaan tanpa hambatan pengguna. Skor tersebut didasarkan pada interaksi dengan situs dan memungkinkan Anda mengambil tindakan yang sesuai untuk situs. Daftarkan kunci reCAPTCHA v3 di konsol Admin reCAPTCHA.
Halaman ini menjelaskan cara mengaktifkan dan menyesuaikan reCAPTCHA v3 di halaman web Anda.
Penempatan di situs Anda
reCAPTCHA v3 tidak akan pernah mengganggu pengguna Anda, sehingga Anda dapat menjalankannya kapan pun Anda mau tanpa memengaruhi konversi. reCAPTCHA akan berfungsi optimal jika memiliki konteks terbanyak terkait interaksi dengan situs Anda, yang berasal dari perilaku yang sah dan penyalahgunaan. Oleh karena itu, sebaiknya sertakan verifikasi reCAPTCHA pada formulir atau tindakan serta di latar belakang halaman untuk analisis.
Anda dapat menjalankan reCAPTCHA pada sebanyak mungkin tindakan di halaman yang sama.
Secara otomatis mengikat tantangan ke tombol
Metode termudah untuk menggunakan reCAPTCHA v3 di halaman Anda adalah dengan menyertakan resource JavaScript yang diperlukan dan menambahkan beberapa atribut ke tombol html Anda.
Muat JavaScript API.
<script src="https://www.google.com/recaptcha/api.js"></script>
Tambahkan fungsi callback untuk menangani token.
<script> function onSubmit(token) { document.getElementById("demo-form").submit(); } </script>
Tambahkan atribut ke tombol html Anda.
<button class="g-recaptcha" data-sitekey="reCAPTCHA_site_key" data-callback='onSubmit' data-action='submit'>Submit</button>
Memanggil tantangan secara terprogram
Jika ingin memiliki kontrol lebih besar terkait kapan reCAPTCHA dijalankan, Anda dapat menggunakan metode execute
di objek grecaptcha
. Untuk melakukannya, Anda perlu menambahkan parameter render
ke pemuatan skrip reCAPTCHA.
Muat JavaScript API dengan kunci situs Anda.
<script src="https://www.google.com/recaptcha/api.js?render=reCAPTCHA_site_key"></script>
Panggil
grecaptcha.execute
di setiap tindakan yang ingin Anda lindungi.<script> function onClick(e) { e.preventDefault(); grecaptcha.ready(function() { grecaptcha.execute('reCAPTCHA_site_key', {action: 'submit'}).then(function(token) { // Add your logic to submit to your backend server here. }); }); } </script>
Kirim token segera ke backend Anda dengan permintaan untuk memverifikasi.
Menafsirkan skor
reCAPTCHA v3 mengembalikan skor (1.0 sangat mungkin merupakan interaksi yang baik, 0.0 sangat mungkin adalah bot). Berdasarkan skor tersebut, Anda dapat melakukan tindakan variabel dalam konteks situs Anda. Setiap situs berbeda, tetapi berikut beberapa contoh cara situs menggunakan skor tersebut. Seperti pada contoh di bawah, lakukan tindakan di balik layar, bukan memblokir traffic, untuk melindungi situs Anda dengan lebih baik.
Kasus penggunaan | Rekomendasi |
---|---|
halaman utama | Lihat tampilan traffic yang kohesif di konsol Admin sambil memfilter scraper. |
login | Dengan skor yang rendah, wajibkan autentikasi 2 faktor atau verifikasi email untuk mencegah serangan penjejalan kredensial. |
sosial | Batasi permintaan pertemanan yang tidak terjawab dari pengguna yang melakukan pelecehan dan kirim komentar berisiko ke moderasi. |
e-commerce | Tonjolkan penjualan asli Anda daripada bot dan identifikasi transaksi yang berisiko. |
reCAPTCHA belajar dengan melihat traffic sungguhan di situs Anda. Karena alasan ini, skor di lingkungan staging atau segera setelah penerapan dapat berbeda dengan produksi. Karena reCAPTCHA v3 tidak pernah mengganggu alur penggunaan, pertama-tama Anda dapat menjalankan reCAPTCHA tanpa mengambil tindakan, lalu menentukan batasnya dengan melihat traffic Anda di konsol admin. Secara default, Anda dapat menggunakan nilai minimum 0,5.
Tindakan
reCAPTCHA v3 memperkenalkan konsep baru: tindakan. Saat menentukan nama tindakan di setiap tempat Anda menjalankan reCAPTCHA, Anda akan mengaktifkan fitur baru berikut:
- Pengelompokan data mendetail untuk sepuluh tindakan teratas Anda di konsol admin
- Analisis risiko adaptif berdasarkan konteks tindakan, karena perilaku penyalahgunaan dapat bervariasi.
Yang penting, saat memverifikasi respons reCAPTCHA, Anda harus memverifikasi bahwa nama tindakan adalah nama yang Anda harapkan.
Respons Verifikasi Situs
Buat permintaan untuk memverifikasi token respons seperti menggunakan reCAPTCHA v2 atau reCAPTCHA Tidak Terlihat.
Responsnya adalah objek JSON:
{
"success": true|false, // whether this request was a valid reCAPTCHA token for your site
"score": number // the score for this request (0.0 - 1.0)
"action": string // the action name for this request (important to verify)
"challenge_ts": timestamp, // timestamp of the challenge load (ISO format yyyy-MM-dd'T'HH:mm:ssZZ)
"hostname": string, // the hostname of the site where the reCAPTCHA was solved
"error-codes": [...] // optional
}
Tips
grecaptcha.ready()
menjalankan fungsi Anda saat library reCAPTCHA dimuat. Untuk menghindari kondisi race denganapi.js
, sertakanapi.js
sebelum skrip Anda yang memanggil grecaptcha, atau terus gunakan callback saat pemuatan yang ditentukan dengan API v2.- Coba kaitkan panggilan
execute
ke tindakan yang menarik atau sensitif seperti Daftar, Reset Sandi, Beli, atau Mainkan. - Gunakan
https://www.google.com/recaptcha/api.js?trustedtypes=true
untuk memuat kode yang kompatibel dengan Jenis Tepercaya.