Saya telah menambahkan google recaptcha dalam formulir contact us tetapi nilainya juga dikirimkan tanpa captcha. Saya telah menggunakan di halaman kontak saya kode berikut untuk captcha:
<div class="g-recaptcha" data-sitekey="XXXXXXXXXX"></div>
<script src='https://www.google.com/recaptcha/api.js'></script>
Kedua kode ini telah saya gunakan. tolong beri tahu saya bagaimana saya bisa memvalidasi captcha.
magento-1.9
form-validation
contact-form
captcha
google-api
Manish Gaur
sumber
sumber
Jawaban:
Anda harus mencoba kode ini: Saya telah menggunakan ini di situs saya.
sumber
Script ini digunakan untuk validasi google reCaptcha seperti validasi magento default. tolong gunakan itu.
sumber
Saya menggunakan recaptcha dalam formulir kontak ..
sumber
Solusi JavaScript yang diterima di atas jelas BUKAN cara untuk menurut saya. Bot apa pun yang tidak menggunakan JS (yang sebagian besar darinya) hanya akan mem-bypass validasi Anda dan Anda akan mendapatkan semua spam yang Anda coba blokir. Selalu selalu memvalidasi di server. Validasi JS hanyalah langkah pertama UX.
Bagaimanapun, ada beberapa solusi, tapi inilah yang bekerja untuk saya di Magento 1.9 setelah banyak penelitian. Ini awalnya dibangun di atas jawaban Mike di atas, tetapi swap file_get_contents untuk cURL karena fungsi sebelumnya biasanya akan memberi Anda kesalahan http wrapper tergantung pada konfigurasi server Anda.
Buat modul Anda sendiri dengan Membuat folder / aplikasi / kode / lokal / YourVendorName / ValidateCaptcha /
Di folder ValidateCaptcha baru Anda, tambahkan folder Model dengan file Customer.php. Ini akan digunakan untuk mengganti file inti Customer.php yang disediakan oleh Magento.
Salin & Tempel kode ini:
Sekarang tambahkan folder dll ke modul Anda dan buat config.xml dengan yang berikut ini:
Selanjutnya Anda harus menambahkan JS ke kepala tema Anda. Di bawah app / design / frontend / default / YOURTHEME / template / halaman / html / head.phtml tambahkan ini di akhir. Jika Anda tidak memiliki file ini, salin dari file dasar. Jangan menimpa file dasar. Selalu buat sendiri!
Sekarang di app / design / frontend / default / YOURTHEME / template / persistent / customer / form / register.phtml tambahkan ini tepat sebelum div set-tombol di dekat bagian bawah:
Hampir selesai! Sekarang cukup daftarkan modul baru Anda dengan membuat aplikasi / etc / modules / YourVendorName / ValidateCaptcha.xml dengan yang berikut:
Ganti YourVendorName dengan yang Anda inginkan. Struktur akhir Anda harus seperti:
sumber
Untuk memvalidasi captcha, buat pengendali penyimpanan untuk menyimpan nilai formulir Anda dan juga validasinya.
Pastikan Anda telah mengganti kunci situs dan kunci rahasia dalam kode sampel di atas.
sumber
NID,
Cuplikan skrip reCaptcha Anda sepertinya berfungsi, tetapi jelaskan apakah itu dimasukkan ke head.phtml sumber Magento? (atau form.phtml?) untuk ditempatkan Tepat di bawah di luar Magento sebelum PHP dalam bentuk hijau karena a.
Pertanyaan ketika memasukkan terutama php apakah itu praktik biasa untuk memasukkannya setelah bagian komentar php langsung yang ditempatkan Magento di atas untuk sebagian besar halaman sumber template mereka seperti contoh di bawah ini?
Kode Penafian Magento di sini di tag php. TEMPAT RECAPTCHA DI SINI skrip snippit di sini?
Juga apa yang membuat kode verifikasi respons reCaptcha ini dalam video di bawah ini lebih diperuntukkan bagi struktur metode Magento: Tutorial ini menggunakan baris pertama baris $ reCaptcha = $ _POST ?
Alternatif Pertanyaan Terakhir: Bagaimana jika saya menggunakan versi php untuk melakukan verifikasi respons reCaptcha ini akan memasukkan kode php snippit setelah bagian komentar hijau template default magento atas dari php seperti ini
Beberapa kode saya tidak ingin pesan muncul di ujung depan karena contactForm default sudah memberikan peringatan merah jika pengguna tidak memasukkan semua info yang akan mengatakan di bawah setiap bidang, saya hanya ingin mendapatkan reCaptcha bekerja untuk contactForm ini. Tetapi dengan cara yang saya akan mengerti untuk digunakan di masa depan juga. Cara Anda dibuat oleh Anda sendiri sebagai pengembang atau programmer?
sumber