Magento Default Captcha แสดง“ CAPTCHA ไม่ถูกต้อง” ถึงแม้ว่าจะป้อนรหัสที่ถูกต้อง


10

ในเว็บไซต์วีโอไอพีของฉันฉันได้เปิดใช้งาน Captcha สำหรับสร้างรูปแบบบัญชีของชุดรูปแบบที่กำหนดเองซึ่งฉันสร้างตั้งแต่เริ่มต้น (ไม่ใช่ "rwd") แต่เมื่อฉันพยายามลงทะเบียนลูกค้าด้วยการให้รหัส captcha ที่ถูกต้องในฟิลด์ แคปต์ชา "หลังจากรีเฟรช & เปลี่ยนเส้นทางไปยังหน้าเดียวกัน

ไม่มีคำเตือน / ข้อผิดพลาดในไคลเอนต์หรือเซิร์ฟเวอร์

ใครช่วยฉันได้บ้าง


1
ฉันมีปัญหาเดียวกัน ฉันสังเกตว่าถ้าคุณคลิกปุ่มรีเฟรชบนภาพ CAPTCHA และป้อนค่าใหม่อย่างถูกต้องก็ยอมรับได้ คุณเคยมีพฤติกรรมแบบเดียวกันหรือไม่?
Moose

ลองฟรีหนึ่งmagecomp.com/magento-new-recaptcha.html
Gaurav Jain

คำตอบ:


2

คุณสามารถแก้ไขได้โดย Debug กระบวนการตรวจสอบภาพ

ดังนั้นโปรดปฏิบัติตามขั้นตอนด้านล่าง

Magento customer registration form'scaptcha ได้รับการตรวจสอบที่ชั้นเรียนMage_Captcha_Model_Observerเกี่ยวกับการ checkUserCreate()ใช้controller_action_predispatch_customer_account_createpostงานเหตุการณ์

วีโอไอพีนั้นมีการตรวจสอบค่า captcha ที่ใช้:

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

นั่นหมายความว่าวีโอไอพีที่นี่จะส่งค่าของฟิลด์captcha[user_create] และฟิลด์นั้นตรงกับMage_Captcha_Model_Zend ที่ฟังก์ชันisCorrent()

ฟิลด์นี้จับคู่กับค่าเซสชัน

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

ราคา

ด้วยการใช้สิ่งนี้คุณสามารถติดตามได้ว่าปัญหานั้นอยู่ที่ไหน


iam ยังได้รับข้อผิดพลาดเดียวกันวิธีตรวจสอบ @Amit Bera นี้
0434

1

ปัญหาสามารถอ้างถึงชื่อฟิลด์อินพุตที่ไม่ถูกต้อง (ตัวอย่างเช่นname="captcha_user_create"แทนname="captcha[user_create]") หรือ JS captcha init new Captcha(...)ถูกไล่ออกสองครั้ง

มีไฟล์template/captcha/zend.phtmlในธีมที่คุณกำหนดเองหรือไม่?

คุณใช้ captcha ในหน้าอื่น ๆ (ลืมรหัสผ่านเข้าสู่ระบบ) หรือไม่ มันทำงานอย่างถูกต้องในหน้าอื่น ๆ ?

คุณใช้สอง captchas ในหน้าเดียว?

นอกจากนี้โปรดตรวจสอบให้แน่ใจว่าคุณไม่ได้เรียกMage_Captcha_Model_Zend::isCorrectวิธีการสองครั้งเนื่องจากจะเป็นการล้างค่า captcha จากเซสชันของลูกค้า หากคุณทำเช่นนั้นคุณจะได้รับข้อความ "CAPTCHA ไม่ถูกต้อง" เสมอ


ตอนนี้คุณพูดถึงมันมีสอง captchas ในหน้าเดียว เรามีไอคอนเข้าสู่ระบบแบบผุดขึ้นและฉันเห็นว่ามีการสร้าง CAPTCHA เช่นกันเมื่ออยู่ในหน้าลงทะเบียน สถานที่เดียวที่เปิดใช้งาน CAPTCHA อยู่ในหน้าลงทะเบียนลูกค้า
Moose

1

ดูแหล่งที่มาของคุณและดูว่ามีรูปแบบ CAPTCHA อื่นในหน้าเว็บหรือไม่

ฉันมีปัญหาเดียวกันนี้ ปัญหาสำหรับฉันคือส่วนขยาย AjaxPro มีแบบฟอร์มการเข้าสู่ระบบที่ซ่อนอยู่ซึ่งใช้ CAPTCHA ด้วย เนื่องจากทั้งสองรูปแบบมีชื่อบล็อกเดียวกันของ "captcha" บล็อกของฉันจึงถูกใช้สองครั้งและรหัสกำลังถูกรีเฟรชสำหรับแบบฟอร์มที่สอง (ซ่อน) ในการโหลดหน้าจึงทำให้การใช้งานในฟอร์มของฉันเป็นโมฆะ ดังนั้นฉันต้องเปลี่ยนชื่อบล็อกสำหรับฟอร์มที่กำหนดเองของฉันตัวอย่างเช่นจาก "captcha" เป็น "captcha.custom" จากนั้นก็ใช้งานได้ดี


ฉันสามารถยืนยันได้ว่านี่เป็นรากเหง้าของปัญหาของฉัน ฉันก็มีส่วนขยาย AjaxPro และเพิ่มกล่องป๊อปอัพเข้าสู่ระบบในส่วนหัว เมื่อฉันโฮเวอร์ฉันเห็น CAPTCHA ที่สอง ฉันแก้ไขมันโดยไปที่แอพ / ออกแบบ / ส่วนหน้า / ฐาน / ค่าเริ่มต้น / แม่แบบ / tm / ajaxpro / ลูกค้า / login.phtml และแสดงความคิดเห็นนี้: <? php echo $ this-> getChildHtml ('form.additional.info') ; ?>
NotJay

0

เหตุผลหนึ่งสำหรับเรื่องนี้นอกเหนือจากที่กล่าวมาแล้วอาจมีทรัพยากรที่อ้างอิงอย่างไม่ถูกต้องพยายามโหลดจากคำขอ JS ใน URL คำขอเดียวกันซึ่งหน้า Magento บางหน้าทำให้เกิดการสร้างใหม่ของ captcha ในเซสชันโดยไม่ต้องรีเฟรชส่วนหน้า แสดงภาพ captcha เนื่องจากผลลัพธ์จะไปที่คำขอ ajax นั้น

ตัวอย่างเช่นฉันมี JS lightbox พยายามโหลดรูปภาพที่อ้างอิงถึงพา ธ สัมพัทธ์ซึ่งทำให้คำขอเพิ่มเติมไปยัง / ลูกค้า / บัญชี / ลืมชื่อรหัสผ่านด้วยพา ธ คำขอต่อไปนี้: /customer/account/forgotpassword/images/black.png สิ่งนี้ทำให้รหัส captcha เปลี่ยนไปในเซสชัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.