Khắc phục sự cố

Lưu ý quan trọng: Phiên bản 1.0 của API reCAPTCHA không còn được hỗ trợ, vui lòng nâng cấp lên phiên bản 2.0. Tìm hiểu thêm


Tôi không thể tìm cách thêm reCAPTCHA

Lời khuyên này áp dụng cho tất cả những người tích hợp reCAPTCHA – bất kể ngôn ngữ.

Trước tiên, bạn cần xác định hai điểm nóng trong mã của mình. Đây là những vị trí mà bạn sẽ thêm các lệnh gọi reCAPTCHA.

  • reCAPTCHA hiển thị: Điểm nóng đầu tiên là mã tạo biểu mẫu. Hy vọng việc này đủ dễ để tìm (bằng cách tìm thẻ <form> trong html của bạn) và bạn đã có thể hiển thị CAPTCHA trên biểu mẫu của mình.

  • Kiểm tra reCAPTCHA: Điểm nóng thứ hai là điểm có vẻ gây ra vấn đề cho mọi người. Bạn cần xác định mã xử lý việc gửi biểu mẫu – đó là mã chạy khi người dùng nhấp vào gửi. Rất khó để khái quát hoá mã này trông như thế nào, nhưng sau đây là một số gợi ý có thể giúp bạn:

    • nếu biểu mẫu của bạn có thể hiển thị thông báo lỗi, ví dụ như nếu trường bắt buộc bị trống, hãy tìm mã tạo ra thông báo lỗi đó.
    • nếu biểu mẫu đặt thông tin trong cơ sở dữ liệu, hãy tìm mã thực hiện thao tác CHÈN SQL.
    • nếu biểu mẫu của bạn gửi thư, hãy tìm kiếm mã thực hiện việc đó.

    Biểu mẫu đã được xác thực

    Hoạt động sẽ dễ dàng hơn nếu biểu mẫu của bạn đã có một số logic xác thực (tức là biểu mẫu xử lý dữ liệu đầu vào không hợp lệ từ người dùng bằng cách hiển thị thông báo thay vì thực hiện bất kỳ thao tác nào như bình thường). Nếu đúng như vậy và bạn có thể tìm thấy mã thực hiện việc đó gần như miễn phí. Nếu biểu mẫu có thể hiển thị thông báo lỗi, hãy tìm kiếm văn bản của thông báo lỗi trong mã và bạn chắc chắn rằng mình phải đóng. Sau khi tìm thấy mã xác thực, bạn cần thêm một lệnh gọi vào hàm check_answer cùng với bất kỳ quy trình kiểm tra nào khác (địa chỉ email trống? tuổi quá trẻ? v.v.).

    Biểu mẫu không được xác thực

    Nếu hiện không có logic xác thực cho biểu mẫu của bạn – nếu việc nhấp vào gửi luôn thành công – thì bạn sẽ gặp một vấn đề khó khăn hơn nữa. Trong trường hợp đó, bạn sẽ phải thêm mã xác thực reCAPTCHA ngay trước khi mã xử lý biểu mẫu hiện có sẽ thực hiện bất kỳ thao tác nào có khi người dùng gửi. Bạn cũng sẽ phải tìm cách hiển thị lại biểu mẫu để cho người dùng thử lại với hình ảnh xác thực. Rất tiếc, không có câu trả lời nào có sẵn cho cách bạn thực hiện việc đó. Điều này phụ thuộc hoàn toàn vào cấu trúc của mã bạn đang có. Nếu mã hiện tại không quá phức tạp, có thể bạn đã đăng mã đó lên diễn đàn nhà phát triển ReCAPTCHA và nhờ chúng tôi đưa ra lời khuyên. (Nếu bạn đăng ở đó, hãy nhớ cung cấp đủ thông tin để người khác có thể giúp bạn; việc chỉ nói "mã của tôi không hoạt động" thường sẽ không mang lại kết quả tốt.)

  • Tính năng này không hoạt động! Giúp tôi với!

    Trước khi làm bất cứ điều gì khác, hãy đảm bảo bạn đang sử dụng đúng phím. Khoá công khai và riêng tư của bạn có được hoán đổi không? Bạn có nhớ đặt khoá riêng tư vào trình xử lý biểu mẫu cũng như đặt khoá công khai vào biểu mẫu không?

    Xin lưu ý rằng Mailhide sử dụng các khoá khác từ reCAPTCHA dựa trên biểu mẫu chính.

    Hãy đảm bảo biểu mẫu của bạn sử dụng phương thức POST, nếu không, hãy thay đổi các biến của trình xử lý biểu mẫu reCAPTCHA thành GET thay vì POST.

    Nếu reCAPTCHA đang hoạt động và bạn đột nhiên bắt đầu gặp thông báo "Đã xảy ra lỗi nội bộ", thì gần đây bạn có xoá Tài khoản Google mà bạn đã dùng để đăng ký khoá không? Nếu có, hãy đăng ký khoá mới với tài khoản đang hoạt động và dùng thử các khoá đó.

    reCAPTCHA đang chấp nhận từ không chính xác

    Con người có thể phạm sai lầm và chúng tôi hiểu điều đó. Trong reCAPTCHA, chúng tôi sử dụng một công cụ phân tích rủi ro nâng cao để xác định xem yêu cầu đến có phải là của con người hay không. Khi thực sự tin tưởng rằng người dùng là con người, chúng tôi để họ phạm những sai lầm nhỏ.

    Không, ý tôi là *Hoàn toàn* những từ không chính xác

    Nếu reCAPTCHA chấp nhận bất kỳ dữ liệu đầu vào nào, thì có thể bạn chưa xác thực chính xác câu trả lời của reCAPTCHA với các máy chủ API. Nghĩa là: (1) bạn gọi https://www.google.com/recaptcha/api/verify không chính xác (hoặc hàm tương đương nếu bạn đang sử dụng trình bổ trợ, chẳng hạn như recaptcha_check_answer trong PHP) hoặc (2) bạn không thực hiện hành động thích hợp theo phản hồi từ máy chủ của chúng tôi. Vui lòng xem các hướng dẫn cụ thể mà bạn đã dùng để cài đặt reCAPTCHA (cho dù có thông qua trình bổ trợ hay không) để tìm hiểu cách kiểm tra xem người dùng đã nhập câu trả lời chính xác hay chưa.

    Người dùng của tôi đang bắt đầu sử dụng hình ảnh xác thực một từ

    reCAPTCHA không phải lúc nào cũng có hai từ. Công cụ này là thử nghiệm để phân biệt con người và rô-bốt. Trong trường hợp chúng tôi tin chắc rằng bạn là con người, chúng tôi sẽ phân phát cho bạn một hình ảnh xác thực dễ dàng hơn nhiều (mẫu bên dưới). Hệ thống của chúng tôi dựa vào toàn bộ hoạt động tương tác của bạn với reCAPTCHA (trước, trong và sau khi giải quyết) để quyết định liệu bạn có vượt qua kiểm thử hay không, thay vì chỉ dựa vào giải pháp.

    Hình ảnh xác thực đơn giản

    Nếu bạn muốn biết tính bảo mật của những hình ảnh xác thực đơn giản này, vui lòng tham khảo blog của chúng tôi: http://googleonlinesecurity.blogspot.com/2013/10/recaptcha-only-got-easier-but-only-if.html