Languages
[Edit]
PL

reCAPTCHA v3 - przykład użycia w JavaScript z Framework-iem Spring

12 points
Created by:
Inferio
328

W tym artykule chcielibysmy pokazać w jaki sposób używać Google reCAPTCHA v3 w połączeniu JavaScript po stronie przeglądarki oraz Spring Frameworku po stronie backendu.

Artykuł składa się z 3 częsci:

  • opisu przykładowej konfiguracji w panelu Google reCAPTCHA v3,
  • przykładowy kod działający po stronie przeglądarki (front-end),
  • przykładowy kod działający po stronie serwera (back-end).

Oficjalna dokumentacja dla reCAPTCHA v3 znajduje się tutaj.

 

Wykonaj nastepujące kroki

Edit
  1. konfiguracja Google reCAPTCHA:
    1. wejdź do panelu Google reCAPTCHA
      https://www.google.com/recaptcha/admin#list
    2. utwórz nową konfugurację,
    3. wprowadź wymagane dane (znajdują się one niżej na zrzucie ekranu):
      1. Label (wprowadź swoją nazwę konfiguracji),
      2. reCAPTCHA type ustaw jako v3,
      3. Domains zawiera my-domain.com, które należy zastąpić nazwą swojej domeny oraz dodatkowo localhost, aby móc testować aplikację w trakcie dewelopmentu,
    4. zaakceptuj regulamin i kliknij Submit,
  2. integracja przykładowych kodów z twoją stroną,
    1. skopiuj kody źródłowe znajdujące w dalszej częsci artykułu,
    2. skopiuj site key do pliku index.html (należy zamienić klucz site_key_xxyyzz w dwuch miejscach - parametr w url oraz zmienną w kodzie):
    3. skopiuj secret key do pliku ReCAPTCHAv3Utils.java:
  3. otwórz w przeglądarce swoją stronę i sprawdź czy wszystk odziała poprawnie.

Porady:

  • nie udostępniaj swojego secret key!
  • ustaw double SCORES_LEVEL = 0.7 zgodnie ze swoimi wymaganiami (opis znajdziesz poniżej w kodzie),
  • czasami dobrze jest wykonać pewną akcję jeśli dojedzie do wykrycia zachowania, które wsjkazuję na użycie bota (przykładowo odczekaj 60 sekund lub poproś użytkownika o potwierdzenie swojej tożsamości np. swoim mailem lub nr. telefonu).

 

Przykładowa konfuguracja panelu Google reCAPTCHA v3 

Edit

W tej sekcji zamieszczono przykłądową konfigurację użytą podczas tworzenia reCAPTCHA v3. Poniższy zrzut ekranu jest w języku angielskim ze względu na to, że sam panel nie ma tłumaczenia na język polski.

Wskazówka: nie zapomnij dodać domeny localhost jeśli chcesz dewelopować apliację lokalnie z użyciem reCAPTCHA.

Rejestracja reCAPTCHA v3.
Rejestracja reCAPTCHA v3.
site key + secret key dla reCAPTCHA v3
site key + secret key dla reCAPTCHA v3

 

Przykładowy kod JavaScript wykonywany w przeglądarce (Front-end)

Edit

W tej sekcji przedstawiono przykłąd użycia reCAPTCHA v3 dla scenariusza logowania użytkownika - kod JavaScript. Tekst reprezetujący akcję login możemy zamienić na cokolwiek (znajduje się on w linijce zawierającej: ReCAPTCHAv3Utils.request('login', onSuccess, onError)).

index.html file:

 

Przykładowy kod Java wykonywany w frameworku Spring Framework (Back-end)

Edit

W tej sekcji zaprezentowano przykładowy kod w jezyku Java za pomocą, którego jesteśmy w stanie razem z frameworkiem Spring wykonać zapytanie do Google-owego API reCAPTCHA v3 w celu zweryfikowania zachowania użytkownika - czy jest to bot lub człowiek.

Poniżej przedstawiono kilka plików, które należy umieścić w swoim projekcie.

Plik pom.xml (wymagana do dodania zależność dla maven-a):

Plik UserController.java:

Plik LoginUserRequest.java:

Plik ReCAPTCHAv3Utils.java:

Plik ReCAPTCHAv3Exception.java:

Plik ReCAPTCHAv3Response.java:

1
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join