Magento Captcha mặc định cho thấy CAPTCHA không chính xác CAPTCHA ngay cả khi nhập mã chính xác


10

Trong trang web magento của tôi, tôi đã kích hoạt Captcha cho Tạo tài khoản theo chủ đề tùy chỉnh mà tôi đã tạo từ đầu (không phải "rwd"), nhưng khi tôi cố gắng đăng ký một khách hàng cung cấp mã xác thực chính xác trong trường, ngay cả khi đó nó hiển thị "Không chính xác Captcha "sau khi làm mới và chuyển hướng đến cùng một trang.

Không có cảnh báo / lỗi trong máy khách hoặc máy chủ.

Ai có thể hướng dẫn cho tôi?


1
Tôi có cùng một vấn đề. Mặc dù vậy, tôi nhận thấy rằng nếu bạn nhấp vào nút làm mới trên hình ảnh CAPTCHA và nhập giá trị mới một cách chính xác, nó sẽ chấp nhận nó. Bạn đã trải qua hành vi tương tự?
Moose

Dùng thử miễn phí một magecomp.com/magento-new-recaptcha.html
Gaurav Jain

Câu trả lời:


2

Bạn có thể giải quyết bằng cách gỡ lỗi quá trình kiểm tra captcha.

Vì vậy, hãy làm theo quy trình dưới đây.

Magento customer registration form'scaptcha đã được kiểm tra tại lớp Mage_Captcha_Model_Observervề chức năng checkUserCreate()sử dụng controller_action_predispatch_customer_account_createpostsự kiện.

Có magento là kiểm tra giá trị captcha khi sử dụng:

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

Điều đó có nghĩa là ở đây magento gửi giá trị của trường captcha[user_create] và trường được khớp Mage_Captcha_Model_Zend với chức năngisCorrent()

Trường này khớp với giá trị phiên.

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

giá trị

Bằng cách sử dụng này, bạn có thể theo dõi vấn đề ở đâu


Tôi cũng nhận được lỗi tương tự. Làm thế nào để kiểm tra điều này @Amit Bera
User0434

1

Vấn đề có thể đề cập đến tên trường nhập liệu không chính xác (ví dụ, name="captcha_user_create"thay vì name="captcha[user_create]"). Hoặc init captcha init new Captcha(...)được bắn hai lần.

Có tập tin template/captcha/zend.phtmltrong chủ đề tùy chỉnh của bạn?

Bạn có sử dụng captcha trên các trang khác (quên mật khẩu, đăng nhập) không? Nó hoạt động chính xác trên các trang khác?

Bạn có sử dụng hai captcha trên một trang không?

Ngoài ra, vui lòng đảm bảo rằng bạn không gọi Mage_Captcha_Model_Zend::isCorrectphương thức hai lần, vì nó xóa sạch giá trị captcha khỏi phiên khách hàng. Nếu bạn làm như vậy, bạn sẽ luôn nhận được thông báo "Không chính xác CAPTCHA".


Bây giờ bạn đề cập đến nó, có hai captcha trên một trang. Chúng tôi có biểu tượng đăng nhập bật lên và tôi thấy CAPTCHA cũng được tạo ở đó khi trên trang đăng ký. Nơi duy nhất CAPTCHA được bật là trên trang đăng ký khách hàng.
Moose

1

Xem nguồn của bạn và xem nếu có một hình thức CAPTCHA khác trên trang.

tôi đã có vấn đề tương tự. Vấn đề đối với tôi là tiện ích mở rộng AjaxPro có một hình thức đăng nhập ẩn cũng đang sử dụng CAPTCHA. Vì cả hai biểu mẫu có cùng tên khối là "captcha", nên khối của tôi đã được sử dụng hai lần và mã được làm mới cho biểu mẫu thứ hai (ẩn) khi tải trang, do đó làm mất hiệu lực của biểu mẫu trên biểu mẫu của tôi. Vì vậy, tôi đã phải đổi tên khối cho biểu mẫu tùy chỉnh của mình, ví dụ: từ "captcha" thành "captcha.custom". Sau đó, nó làm việc tuyệt vời.


Tôi có thể xác nhận rằng đây là gốc rễ của vấn đề của tôi. Tôi cũng có phần mở rộng AjaxPro và nó đã thêm một hộp popover đăng nhập trong tiêu đề. Khi tôi di chuột qua, tôi thấy CAPTCHA thứ hai. Tôi đã sửa nó bằng cách vào app / design / frontend / base / default / template / tm / ajaxpro / customer / login.phtml và bình luận điều này: <? Php echo $ this-> getChildHtml ('form.additable.info') ; ?>.
NotJay 27/07/18

0

Một lý do cho điều này, ngoài những lý do đã được đề cập, có thể là do tài nguyên được tham chiếu không chính xác đang cố tải từ một yêu cầu JS trên cùng một URL yêu cầu, mà đối với một số trang Magento gây ra việc tái tạo captcha trong phiên, mà không làm mới giao diện hiển thị hình ảnh xác thực, vì đầu ra sẽ đi đến yêu cầu ajax đó.

Ví dụ: tôi đang có một hộp đèn JS đang cố tải một hình ảnh tham chiếu một đường dẫn tương đối, điều này gây ra một yêu cầu bổ sung cho / khách hàng / tài khoản / quên mật khẩu với đường dẫn yêu cầu sau: /customer/account/forgotpassword/images/black.png , điều này khiến mã captcha thay đổi trong phiên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.