reCAPTCHA v2 한 번 써보기

java+servlet으로 몹시 간단하게

YI Eun Gook
2 min readNov 19, 2018

엄춍 간단하다! reCAPTCHA의 validation은 두 단계로 이루어진다.

1. 먼저 클라이언트 단에서
reCAPTCHA를 통해 생성된 코드를 확인한다.
2. 그리고 서버 단에서
해당 코드가 정상인지 구글에게 물어본다.

그럼 코드로 살펴 보자.

<1. 클라이언트단>

reCAPTCHA를 쓰기 위해선 #5, #19가 전부고 나머지는 내가 필요해서 넣은 것들이다. form이나 script 같은..
그리고 그 코드의 확인이라는 것도 #8의 grecaptcha.getResponse()가 제대로 들어있는지 확인하는 것 정도이다.

서버쪽 코드는 쓸데없이 긴데, 대충 넘기고 아래 요약을 보자.

<2. 서버단>

위의 코드 중 #26, #37, #38, #66, #69, 그리고 #29만 보면 된다.

String gRecaptchaResponse = req.getParameter("g-recaptcha-response");
String url = "https://www.google.com/recaptcha/api/siteverify";
String secretKey = "6LffpnoUAAAAAO8yDjVzMTGtvflsZW1K7g7c****";
HttpsURLConnection connection = (HttpsURLConnection) urlObject.openConnection();
String param = "secret=" + secretKey + "&response=" + gRecaptchaResponse;
boolean isSuccess = (boolean)json.get("success");

reCAPTCHA API에 구글이 처음에 알려준 secret Key랑 클라이언트에서 받은 g-recaptcha-response을 던져주면 json으로 결과를 알려준다. 여기서 success필드로 확인하면 끝이다.

--

--

No responses yet