Rozwiązywanie problemów

Ważne: interfejs API reCAPTCHA w wersji 1.0 nie jest już obsługiwany. Uaktualnij go do wersji 2.0. Więcej informacji


Nie mogę ustalić, gdzie dodać reCAPTCHA

Ta porada dotyczy wszystkich użytkowników, którzy integrują reCAPTCHA, niezależnie od języka.

Najpierw musisz wskazać w kodzie 2 najważniejsze miejsca. W tych miejscach będziesz dodawać wywołania reCAPTCHA.

  • Wyświetl reCAPTCHA: pierwszym hotspotem jest kod generujący formularz. Mamy nadzieję, że ten kod jest wystarczająco łatwy do znalezienia (szukając tagu <form> w kodzie HTML) i że udało Ci się wyświetlić CAPTCHA w formularzu.

  • Sprawdź reCAPTCHA: drugie aktywne miejsce to ten, który prawdopodobnie powoduje problemy. Musisz wskazać kod, który obsługuje przesyłanie formularza – jest to kod, który uruchamia się, gdy użytkownik kliknie Prześlij. Ciężko uogólnić wygląd tego kodu, ale oto kilka wskazówek, które mogą Ci pomóc:

    • Jeśli w formularzu może zostać wyświetlony komunikat o błędzie (np. gdy wymagane pole jest puste), poszukaj kodu, który generuje ten komunikat o błędzie.
    • Jeśli formularz umieszcza informacje w bazie danych, poszukaj kodu wykonującego wstawienie SQL.
    • Jeśli formularz wysyła pocztę, wyszukaj kod, który to robi.

    Formularz ma już weryfikację

    Życie będzie łatwiejsze, jeśli formularz ma już zasady weryfikacji (tzn. obsługuje nieprawidłowe dane wejściowe użytkownika, wyświetlając wiadomość zamiast wykonywać zwykłe działanie). W takim przypadku znajdziesz kod, który umożliwi Ci pracę w domu. Jeśli formularz może wyświetlić komunikat o błędzie, wyszukaj w kodzie treść komunikatu o błędzie i sprawdź, czy plik jest zamknięty. Po znalezieniu kodu weryfikacyjnego oprócz innych metod weryfikacji (pusty adres e-mail, za młody wiek) dodaj wywołanie funkcji check_answer.

    Formularz nie został zweryfikowany

    Jeśli obecnie nie ma mechanizmu weryfikacji, a kliknięcie przycisku „Prześlij” zawsze się powiedzie, problem jest bardziej skomplikowany. W takim przypadku musisz dodać kod weryfikacyjny reCAPTCHA tuż przed tym, jak istniejący kod obsługi formularzy będzie działał w momencie przesyłania przez użytkownika. Musisz też ustalić, jak ponownie wyświetlić formularz, aby jeszcze raz wyświetlić użytkownikowi captcha. Niestety nie ma jednej odpowiedzi na to, jak to zrobić. Zależy to całkowicie od struktury Twojego kodu. Jeśli istniejący kod nie jest zbyt złożony, być może warto opublikować go na forum dla programistów reCAPTCHA i poprosić o radę. (Jeśli tam opublikujesz, pamiętaj, aby podać wystarczającą ilość informacji, aby inni mogli Ci pomóc; stwierdzenie „mój kod nie działa” zazwyczaj nie przynosi dobrych wyników).

  • To nie działa. Potrzebuję pomocy.

    Zanim wykonasz jakiekolwiek inne czynności, sprawdź, czy używasz właściwych klawiszy. Czy klucze publiczne i prywatne są wymienione? Czy pamiętasz o umieszczeniu klucza prywatnego w module obsługi formularza i umieszczeniu go w formularzu?

    Pamiętaj, że Mailhide używa innych kluczy niż główna reCAPTCHA oparta na formularzach.

    Upewnij się, że formularz używa metody POST, albo zmień zmienne modułu obsługi formularza reCAPTCHA na GET zamiast POST.

    Jeśli usługa reCAPTCHA działała prawidłowo i nagle pojawił się komunikat „Wystąpił błąd wewnętrzny”, czy konto Google użyte do rejestracji kluczy zostało przez Ciebie ostatnio usunięte? Jeśli tak, zarejestruj się na nowe klucze na aktywnym koncie i wypróbuj je.

    reCAPTCHA akceptuje nieprawidłowe słowa

    Ludzie popełniają błędy, a my to rozumiemy. W reCAPTCHA używamy zaawansowanego mechanizmu analizy ryzyka, aby określić, czy żądanie przychodzące pochodzi od człowieka, czy nie. Gdy mamy dużą pewność, że użytkownicy są człowiekiem, pozwalamy im na drobne błędy.

    Nie, mam na myśli *całkowicie* niepoprawne słowa

    Jeśli reCAPTCHA akceptuje jakiekolwiek dane wejściowe, prawdopodobnie nie weryfikujesz odpowiedzi reCAPTCHA na serwerach API. Oznacza to, że: (1) nie wywołujesz poprawnie funkcji https://www.google.com/recaptcha/api/verify (lub jej odpowiednika w przypadku korzystania z wtyczki, takiej jak recaptcha_check_answer w języku PHP) lub (2) nie podejmujesz odpowiednich działań na podstawie odpowiedzi z naszych serwerów. Zapoznaj się ze szczegółowymi instrukcjami użytymi do zainstalowania reCAPTCHA (niezależnie od tego, czy to za pomocą wtyczki), aby dowiedzieć się, jak sprawdzić, czy użytkownik wpisał odpowiedź poprawnie.

    Moi użytkownicy zaczynają widzieć łamigłówki słowne

    reCAPTCHA nie zawsze składa się z 2 słów. To test odróżniający ludzi od robotów. Jeśli mamy dużą pewność, że jesteś człowiekiem, wyświetlimy Ci znacznie łatwiejszy obraz captcha (przykład poniżej). Decyzję o zaliczeniu testu, w trakcie go i po jego rozwiązaniu, a nie tylko na rozwiązaniu problemu, polega na zaangażowaniu całego zaangażowania w działanie reCAPTCHA – przed jego ukończeniem, w jego trakcie i po jego zakończeniu.

    Łatwy captcha

    Jeśli chcesz dowiedzieć się więcej o bezpieczeństwie tych prostych testów captcha, odwiedź naszego bloga: http://googleonlinesecurity.blogspot.com/2013/10/recaptcha-just-got-easier-but-only-if.html