Implementacja captcha REST API typu klient-serwer


Tworzę aplikację klient-serwer REST.
Strona klienta jest oparta na Angular, podczas gdy strona serwera jest oparta na PHP (i tak nie ma to większego znaczenia).
Zastanawiam się, czy są jakieś najlepsze praktyki, dobre przykłady implementacji captcha w tym przypadku? Captcha będzie używany do rejestracji użytkownika itp.
Nie ograniczam się do żadnych konkretnych bibliotek, jedynym wymaganiem jest to, że po stronie klienta nie mogą być żadne wywołania do serwerów stron trzecich (biblioteki js hostowane na serwerach stron trzecich lub klucz req api itp.).
podziękować
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Gdy google captcha zatwierdzi jednego użytkownika, udostępnia token.
Więc wyobraź sobie ten kontekst. Użytkownicy będą zapisywać i używać captcha, captcha wykonuje swoje zadanie, dopóki nie zatwierdzi użytkownika i nie przekaże token, to wszystko, co się liczy.
Jeśli chcesz zobaczyć przepływ „wstępnych” wniosków o to.
  • Użytkownik przekazał Captcha przed rejestracją, kod PIN zapewnia token na przednim końcu.
  • Użytkownik klika przycisk Zapisz, otrzymujesz dane formularza i token captcha na zapleczu. Czy prosisz o wygooglowanie przez interfejs API, czy token jest prawdziwy jeśli powiedzieli tak, zapisz formularz; jeśli w jakiś sposób Google go nie rozpozna, zwrócisz błąd.
  • Front end nasłuchuje sukcesu lub błędu i jaki jest błąd. Jeśli błąd to captcha, spróbuj ponownie, pobierz nowy token.
  • Backend pobiera dane formularza i nowy token i ponownie sprawdza poprawność.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nowa reCaptcha w Google jest dość śliska. Mają kilka łatwych do zrozumienia przykładów i przypadków użycia.
https://www.google.com/recaptcha/intro/index.html
https://www.google.com/recaptcha/intro/index.html
Edycja: Aby odpowiedzieć na Twoje konkretne pytanie, jak zaimplementować to w aplikacji RESTful, utworzyłbym dwa pliki. Jeden z nich będzie plikiem publicznym, takim jak index.php, a drugi będzie plikiem wewnętrznym, który będzie zawierał dane osobowe.
Mógłbym skopiować/wkleić moją wcześniej napisaną instrukcję tutaj lub po prostu połączyć Cię z

Artykuł, który napisałem 2 miesiące temu
http://bendoylegray.com/journa ... w-to/
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz rzucić okiem na google-recaptcha. Jego kątowa implementacja jest tutaj
vcRecaptcha
https://github.com/VividCortex/angular-recaptcha

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się