Pemecahan masalah

Penting: reCAPTCHA API versi 1.0 tidak lagi didukung, upgrade ke Versi 2.0. Pelajari lebih lanjut


Saya Tidak Bisa Menemukan Tempat untuk Menambahkan reCAPTCHA

Saran ini berlaku untuk semua orang yang mengintegrasikan reCAPTCHA -- apa pun bahasanya.

Pertama, Anda harus mengidentifikasi dua hot spot dalam kode Anda. Ini adalah tempat Anda akan menambahkan panggilan reCAPTCHA.

  • Menampilkan reCAPTCHA: Hot spot pertama adalah kode yang menghasilkan formulir. Semoga hal tersebut cukup mudah ditemukan (dengan mencari tag <form> di html) dan Anda dapat menampilkan CAPTCHA di formulir.

  • Periksa reCAPTCHA: Hot spot kedua adalah error yang tampaknya menyebabkan masalah bagi banyak orang. Anda perlu mengidentifikasi kode yang menangani pengiriman formulir -- yaitu kode yang dijalankan saat pengguna mengklik kirim. Sulit untuk menggeneralisasi seperti apa kode ini, tetapi berikut adalah beberapa petunjuk yang dapat membantu Anda:

    • jika formulir Anda dapat menampilkan pesan error, misalnya jika kolom wajib diisi kosong, cari kode yang menghasilkan pesan error tersebut.
    • jika formulir Anda menempatkan informasi dalam {i>database<i}, cari kode yang melakukan SQL INSERT.
    • jika formulir Anda mengirim email, cari kode yang dapat melakukannya.

    Formulir Sudah Memiliki Validasi

    Hidup akan lebih mudah jika formulir Anda sudah memiliki beberapa logika validasi (yaitu, formulir ini menangani input yang tidak valid dari pengguna dengan menampilkan pesan, bukan melakukan tindakan apa pun yang biasanya dilakukan). Jika demikian, Anda dapat menemukan kode yang melakukannya bahwa Anda hampir tidak memiliki rumah. Jika formulir dapat menampilkan pesan error, telusuri teks pesan error dalam kode dan Anda pasti sudah menyelesaikan pesan tersebut. Setelah menemukan kode validasi, Anda perlu menambahkan panggilan ke fungsi check_answer selain pemeriksaan lain apa pun yang ada (alamat email kosong? usia terlalu muda? dll.).

    Formulir Tidak Memiliki Validasi

    Jika saat ini tidak ada logika validasi untuk formulir Anda -- jika mengklik kirim selalu berhasil -- berarti Anda memiliki masalah yang lebih rumit. Dalam hal ini, Anda harus menambahkan kode validasi reCAPTCHA tepat sebelum kode penanganan formulir yang ada melakukan apa pun yang dilakukannya saat pengguna mengirimkan formulir. Anda juga harus mencari tahu cara menampilkan kembali formulir untuk memberikan upaya lagi kepada pengguna pada reCAPTCHA. Sayangnya, tidak ada jawaban yang pasti tentang bagaimana Anda melakukannya. Hal ini sepenuhnya bergantung pada struktur kode yang sudah Anda miliki. Jika kode yang ada tidak terlalu rumit, Anda mungkin berhasil mempostingnya di forum developer reCAPTCHA dan meminta saran. (Jika Anda memposting di sana, pastikan untuk menyertakan informasi yang cukup agar orang lain dapat membantu Anda; hanya mengatakan "kode saya tidak berfungsi" biasanya tidak memberikan hasil yang baik.)

  • Tidak Berfungsi! Tolong bantu saya.

    Sebelum melakukan hal lain, pastikan Anda menggunakan kunci yang benar. Apakah kunci publik dan pribadi Anda ditukar? Apakah Anda ingat untuk menempatkan kunci pribadi di pengendali formulir dan juga menempatkan kunci publik di dalam formulir?

    Perhatikan bahwa Mailhide menggunakan kunci yang berbeda dari reCAPTCHA berbasis formulir utama.

    Pastikan formulir Anda menggunakan metode POST, atau ubah variabel pengendali formulir reCAPTCHA menjadi GET, bukan POST.

    Jika reCAPTCHA berfungsi dan Anda tiba-tiba mulai menerima pesan "Terjadi error internal", apakah baru-baru ini Anda menghapus Akun Google yang digunakan untuk mendaftar ke kunci tersebut? Jika demikian, daftar untuk mendapatkan kunci baru dengan akun aktif dan cobalah kunci baru tersebut.

    reCAPTCHA Menerima Kata-Kata yang Salah

    Manusia dapat melakukan kesalahan, dan kami memahami hal tersebut. Dalam reCAPTCHA, kami menggunakan mesin analisis risiko lanjutan untuk menentukan apakah permintaan yang masuk berasal dari manusia atau bukan. Ketika kami sangat yakin bahwa pengguna adalah manusia, kami mengizinkan mereka untuk melakukan kesalahan kecil.

    Tidak, Maksud Saya *Benar-benar* Kata-Kata Salah

    Jika reCAPTCHA menerima input apa pun, Anda mungkin tidak memvalidasi jawaban reCAPTCHA dengan benar menggunakan server API. Artinya: (1) Anda tidak memanggil https://www.google.com/recaptcha/api/verify dengan benar (atau fungsi yang setara jika menggunakan plugin, seperti recaptcha_check_answer di PHP), atau (2) Anda tidak melakukan tindakan yang tepat berdasarkan respons dari server kami. Lihat petunjuk spesifik yang Anda gunakan untuk menginstal reCAPTCHA (baik melalui plugin atau tidak) untuk mempelajari cara memeriksa apakah pengguna memasukkan jawaban dengan benar.

    Pengguna Saya Mulai Mendapatkan Captcha Satu Kata

    reCAPTCHA tidak selalu terdiri dari dua kata. Pengujian ini bertujuan untuk membedakan antara manusia dan robot. Jika kami memiliki keyakinan tinggi bahwa Anda adalah manusia, kami akan melayani Anda dengan captcha yang jauh lebih mudah (contoh di bawah). Sistem kami mengandalkan seluruh interaksi Anda dengan reCAPTCHA — sebelum, selama, dan setelah penyelesaian masalah — untuk memutuskan apakah Anda lulus atau gagal dalam pengujian, bukan pada solusi saja.

    Captcha mudah

    Jika Anda ingin tahu tentang keamanan polyline yang mudah ini, lihat blog kami: http://googleonlinesecurity.blogspot.com/2013/10/recaptcha-just-got-easier-but-only-if.html