Magento Varsayılan Güvenlik Kodu doğru kod girilse bile “Yanlış CAPTCHA” gösteriyor


10

Magento sitemde sıfırdan ("rwd" değil) oluşturduğum özel tema için Hesap Oluştur Captcha'yı etkinleştirdim, ancak alanda doğru captcha kodu sağlayarak bir müşteri kaydetmeye çalıştığımda bile "Yanlış" gösteriyor Captcha "yı yenileyin ve aynı sayfaya yönlendirdikten sonra.

İstemci veya sunucuda uyarı / hata yok.

Biri bana rehberlik edebilir mi?


1
Aynı sorunu yaşıyorum. CAPTCHA resmindeki yenile düğmesine tıklarsanız ve yeni değeri doğru girerseniz, kabul eder. Aynı davranışı yaşadın mı?
Geyik

Ücretsiz bir tane
Gaurav Jain

Yanıtlar:


2

Captcha kontrol işlemini Hata Ayıkla ile çözebilirsiniz.

Bu nedenle, lütfen aşağıdaki işlemi takip edin.

Magento customer registration form'scaptcha, olayı kullanarak Mage_Captcha_Model_Observerfonksiyon üzerinde sınıfta kontrol edildi .checkUserCreate()controller_action_predispatch_customer_account_createpost

Magento kullanırken captcha değerini kontrol edin:

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

Yani burada alanın değerini göndermek için magento captcha[user_create] ve alan Mage_Captcha_Model_Zend fonksiyonda eşleşirisCorrent()

Bu alan oturum değeri ile eşleşir.

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

değer

Bunu kullanarak sorunun nerede olduğunu takip edebilirsiniz.


iam de bu @Amit Bera kontrol etmek aynı error.how alma
User0434

1

Sorun yanlış giriş alanı adına (örneğin, name="captcha_user_create"yerine name="captcha[user_create]") atıfta bulunabilir . Veya JS captcha init new Captcha(...)iki kez tetiklenir.

template/captcha/zend.phtmlÖzel temanızda dosya var mı ?

Diğer sayfalarda captcha kullanıyor musunuz (şifremi unuttum, giriş yapın)? Başka sayfalarda düzgün çalışıyor mu?

Tek sayfada iki captcha kullanıyor musunuz?

Ayrıca Mage_Captcha_Model_Zend::isCorrect, müşteri oturumundan captcha değerini sildiğinden, yöntemi iki kez çağırmamaya dikkat edin . Bunu yaparsanız, her zaman bu "Yanlış CAPTCHA" iletisini alırsınız.


Şimdi bahsettiğinize göre, tek sayfada iki captcha var. Bir pop-up giriş simgesimiz var ve kayıt sayfasında da bir CAPTCHA oluşturulduğunu görüyorum. CAPTCHA'nın etkin olduğu tek yer müşteri kayıt sayfasındadır.
Geyik

1

Kaynağınızı görüntüleyin ve sayfada başka bir CAPTCHA formu olup olmadığına bakın.

Ben de aynı sorunu yaşadım. Benim için sorun AjaxPro uzantısı da CAPTCHA kullanan gizli bir giriş formu olmasıydı. Her iki form da "captcha" ile aynı blok adına sahip olduğundan, bloğum iki kez kullanılıyordu ve kod, sayfa yükündeki ikinci (gizli) form için yenileniyordu, böylece formumdakini geçersiz kılıyordu. Bu yüzden, örneğin "captcha" dan "captcha.custom" e, özel formum için bloğu yeniden adlandırmak zorunda kaldım. Sonra harika çalıştı.


Bunun benim sorunumun kökü olduğunu doğrulayabilirim. Ben de AjaxPro uzantısı vardı ve başlıkta bir giriş popover kutusu ekledi. Üzerine geldiğimde ikinci CAPTCHA'yı gördüm. Ben app / design / frontend / base / default / template / tm / ajaxpro / customer / login.phtml adresine gidip bunu yorumlayarak çözdüm: <? Php echo $ this-> getChildHtml ('form.additional.info') ; ?>.
NotJay

0

Bunun bir nedeni, daha önce bahsedilenler dışında, aynı istek URL'sindeki bir JS isteğinden yüklenmeye çalışan yanlış referanslandırılmış bir kaynağa sahip olabilir, bu da birkaç Magento sayfası için ön uç yenilenmeden oturumda captcha'nın yenilenmesine neden olur çıktı bu ajax isteğine gidecek gibi captcha görüntü gösterilir.

Örneğin, göreli bir yola referans veren bir resim yüklemeye çalışan bir JS ışık kutusu kullanıyordum, bu da / customer / account / forgotpassword için aşağıdaki istek yolu ile ek bir istek oluşturuyordu: /customer/account/forgotpassword/images/black.png , captcha kodunun oturumda değişmesine neden olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.