Magento Default Captcha menunjukkan “CAPTCHA Salah” walaupun kode yang dimasukkan benar

10

Di situs magento saya, saya telah mengaktifkan Captcha untuk bentuk akun Buat tema khusus yang saya buat dari awal (bukan "rwd"), tetapi ketika saya mencoba mendaftarkan pelanggan dengan memberikan kode captcha yang benar di lapangan, bahkan kemudian ditampilkan "Tidak Benar Captcha "setelah menyegarkan & mengarahkan ke halaman yang sama.

Tidak ada peringatan / kesalahan baik di klien atau server.

Adakah yang bisa membimbing saya?

HD
sumber
1
Saya mengalami masalah yang sama. Saya perhatikan jika Anda mengklik tombol refresh pada gambar CAPTCHA dan memasukkan nilai baru dengan benar, itu menerimanya. Pernahkah Anda mengalami perilaku yang sama?
Moose
Coba gratis satu magecomp.com/magento-new-recaptcha.html
Gaurav Jain

Jawaban:

2

Anda dapat menyelesaikan dengan Debug proses cek captcha.

Jadi, silakan ikuti proses di bawah ini.

Captcha Magento customer registration form'stelah diperiksa di kelas Mage_Captcha_Model_Observerpada fungsi checkUserCreate()menggunakan controller_action_predispatch_customer_account_createpostacara.

Ada magento yang memeriksa nilai captcha dalam menggunakan:

$captchaModel->isCorrect($this->_getCaptchaString(Mage::app()->getRequest(), $formId))

Itu berarti di sini magento mengirim nilai bidang captcha[user_create] dan bidang cocok pada Mage_Captcha_Model_Zend saat fungsiisCorrent()

Bidang ini cocok dengan nilai sesi.

Mage::getSingleton('customer/session')->getData($this->_getFormIdKey('word')

nilai

Dengan menggunakan ini, Anda dapat melacak di mana masalahnya

Amit Bera
sumber
iam juga mendapatkan error.how yang sama untuk memeriksa @Amit Bera ini
User0434
1

Masalahnya dapat merujuk pada nama bidang input yang salah (misalnya, name="captcha_user_create"bukan name="captcha[user_create]"). Atau JS captcha init new Captcha(...)dipecat dua kali.

Apakah ada file template/captcha/zend.phtmldalam tema khusus Anda?

Apakah Anda menggunakan captcha di halaman lain (lupa kata sandi, login)? Apakah itu berfungsi dengan benar di halaman lain?

Apakah Anda menggunakan dua captcha pada satu halaman?

Pastikan juga Anda tidak memanggil Mage_Captcha_Model_Zend::isCorrectmetode dua kali, karena menghapus nilai captcha dari sesi pelanggan. Jika Anda melakukannya, Anda akan selalu mendapatkan pesan "CAPTCHA salah".

Neklo.com
sumber
Sekarang Anda menyebutkannya, ada dua captcha di satu halaman. Kami memiliki ikon login pop-up dan saya melihat CAPTCHA sedang dibuat di sana juga ketika di halaman pendaftaran. Satu-satunya tempat CAPTCHA diaktifkan adalah di halaman pendaftaran pelanggan.
Moose
1

Lihat sumber Anda dan lihat apakah ada formulir CAPTCHA lain di halaman tersebut.

Saya punya masalah yang sama. Masalahnya bagi saya adalah bahwa ekstensi AjaxPro memiliki formulir login tersembunyi yang juga menggunakan CAPTCHA. Karena kedua formulir memiliki nama blok yang sama "captcha", blok saya digunakan dua kali, dan kode disegarkan untuk formulir kedua (tersembunyi) pada pemuatan halaman, sehingga membatalkan yang di formulir saya. Jadi saya harus mengganti nama blok untuk formulir kustom saya, misalnya, dari "captcha" menjadi "captcha.custom". Kemudian itu bekerja dengan baik.

Joe
sumber
Saya dapat mengkonfirmasi bahwa ini adalah akar masalah saya. Saya juga memiliki ekstensi AjaxPro dan menambahkan kotak popover login di header. Ketika saya mendekat, saya melihat CAPTCHA kedua. Saya memperbaikinya dengan pergi ke app / desain / frontend / base / default / template / tm / ajaxpro / pelanggan / login.phtml dan berkomentar: <? Php echo $ this-> getChildHtml ('form.additional.info') ; ?>.
NotJay
0

Salah satu alasan untuk ini, selain dari yang telah disebutkan, dapat memiliki sumber referensi yang salah mencoba memuat dari permintaan JS pada URL permintaan yang sama, yang untuk beberapa halaman Magento menyebabkan regenerasi captcha dalam sesi, tanpa menyegarkan frontend ditampilkan gambar captcha, sebagai output akan pergi ke permintaan ajax itu.

Sebagai contoh, saya mengalami JS lightbox mencoba memuat gambar yang mereferensikan jalur relatif, yang menyebabkan permintaan tambahan ke / pelanggan / akun / forgetpassword dengan jalur permintaan berikut: /customer/account/forgotpassword/images/black.png , ini menyebabkan kode captcha berubah dalam sesi.

Mihai MATEI
sumber