구글 reCAPTCHA로 워드프레스 회원가입, 로그인 페이지 보안 강화하기

워드프레스 사이트에서 회원가입 기능을 활성화할 경우 스팸 회원이 가입하는 경우가 있습니다. 이런 경우 구글 reCAPTCHA를 적용하면 스팸 회원 가입이 눈에 띄게 줄어들 것입니다.

워드프레스에 구글 reCAPTCHA를 추가할 수 있는 몇 가지 플러그인이 있습니다. 이 글에서는 무료 플러그인인 Google Captcha (reCAPTCHA) by BestWebSoft에 대해 간단히 살펴보겠습니다. 이외에도 Login No Captcha reCAPTCHA 등의 플러그인이 있습니다.

Google Captcha (reCAPTCHA) by BestWebSoft 플러그인

워드프레스 Google Captcha (reCAPTCHA)  플러그인

BestWebSoft의 Google Captcha (reCAPTCHA) 플러그인을 사용하면 워드프레스 로그인, 회원가입, 비밀번호 재설정(초기화) 페이지와 댓글 양식, 그리고 BestWebSoft에서 판매하는 Contact Form 등의 플러그인에 구글 reCaptcha를 추가할 수 있습니다. 이 플러그인은 현재 20만 개 이상의 사이트에 설치되어 사용되고 있습니다.

이 플러그인을 설치하면 Google Captcha라는 항목이 왼쪽 메뉴에 표시됩니다. Google Captcha를 클릭하면 설정 페이지가 나타납니다.

구글 Captcha 설정

"Register your website with Google to get required API keys and enter them below. Get the API Keys"의 "Get the API Keys" 링크를 클릭하여 Google reCAPTCHA용 사이트 키(Site Key)와 비밀 키(Secret Key)를 생성하도록 합니다.

Google reCAPTCHA 사이트 등록

Google reCAPTCHA 어드민 콘솔(https://www.google.com/recaptcha/admin#list) 사이트에서 새로운 사이트를 등록합니다.

reCAPTCHA 유형으로 reCAPTCHA v3과 reCAPTCHA v2 중에서 선택할 수 있습니다. 저는 reCAPTCHA v2를 선택하고 "표시되지 않는 reCAPCHA 배지"를 선택해보았습니다. 도메인에 도메인을 입력하고 "+"를 누르면 도메인이 등록됩니다. 약관에 동의하고 저장하면 사이트 키와 비밀 키(시크릿 키)가 생성됩니다.

구글 reCAPTCHA 사이트 키와 비밀 키

사이트 키와 비밀 키를 복사하여 Google Captcha Settings 페이지에 붙여넣기 합니다.

구글 reCAPTCHA 사이트 키와 비밀 키 입력

Site Key와 Secret Key 입력란에 사이트 키와 비밀 키를 입력하고, Enable reCAPTCHA for에서 '보안 문자'를 표시할 페이지를 선택합니다. 다음 양식을 선택할 수 있습니다.

  • Login form (로그인 양식)
  • Registration form (회원가입 양식)
  • Reset password form (비밀번호 초기화 양식)
  • Comments form (댓글 양식)

설정을 저장한 후에 로그인 페이지 등을 살펴보면 구글 reCAPTCHA가 표시되는 것을 확인할 수 있습니다.

구글 reCAPTCHA - 워드프레스 로그인 페이지

일부 사이트의 구글 reCAPTCHA에서는 자동차나 동물 그림이 있는 블록을 클릭하도록 하여 매우 번거로운 경우가 있는데, 이 플러그인을 사용하여 구글 reCAPTCHA를 추가할 경우 "I'm not a robot"을 클릭하면 곧바로 인증되어 번거로움이 덜 한 것 같습니다.

이 플러그인의 Misc(기타) 설정에서는 플러그인 사용을 추적할 수 있는 옵션이 제공됩니다.

구글 reCAPTCHA로 워드프레스 회원가입, 로그인 페이지 보안 강화하기 2

Track Usage를 선택하면 익명으로 플러그인 사용을 추적할 수 있도록 허용합니다. Pro 옵션이 표시되지 않도록 하려면 Pro Options의 체크란을 비활성화도록 합니다.

마치며

워드프레스에서 회원가입이 가능하도록 허용하면 봇에 의한 회원가입 시도가 늘어나게 됩니다. Google Captcha (reCAPTCHA) by BestWebSoft 같은 플러그인을 사용하면 스팸 봇의 회원가입과 로그인 시도를 크게 줄일 수 있을 것입니다.

사이트에 회원가입 가능이 필요하지 않다면 회원가입 기능을 비활성화하는 것이 좋습니다. 회원가입을 허용하지 않으려면 워드프레스 알림판 > 설정 > 일반 > 멤버쉽에서 "누구나 가입할 수 있습니다"의 체크를 해제하면 됩니다.

회원가입 멤버쉽 비활성화

그리고 사이트에 로그인하는 컴퓨터의 IP 주소가 몇 개 되지 않는 경우 이 사이트처럼 로그인 페이지 접속 자체를 차단하는 것도 가능합니다. 방문자들이 로그인 페이지에 접속하지 못하도록 wp-login.php 페이지 접근을 차단하려면 다음 코드를 .htaccess 파일에 추가하면 됩니다.

<Files wp-login.php>
Order Deny,Allow
Deny from All
Allow from xxx.xxx.xx.xxx
</Files>

여기서 xxx.xxx.xx.xxx는 로그인 페이지에 접속을 허용할 IP 주소입니다.

참고:


1개 댓글

댓글 남기기

* 이메일 주소는 공개되지 않습니다.