웹사이트에 로그인시도를 하거나 댓글을 다는게 사람인지 자동등록 컴퓨터(봇 프로그램)인지 구분하기위해 사용될 수 있는 리캡차(reCAPTCHA)는 다양한 곳에 쓰이게 되는데요. 최근에는 티스토리가 초대장없이 개방하면서 블로그글 자동 포스팅을 방지하기위해 글쓰기에 리캡차를 도입했다고도 하죠.
사이트내에서 리캡차가 사용될 수 있는 곳은 예를 들어 회원 가입, 로그인, 글쓰기, 사이트내 검색, 댓글달기, 리뷰작성등입니다. 워드프레스에서도 이런 스팸방지를 위해서 구글의 reCAPTCHA 같은 웹 API가 컨택트 폼 7 (Contact Form 7)이나 Elementor 같은 여러 플러그인에 연동될 수 있는데 그런 플러그인들은 리캡차 API를 요구하곤 합니다. 이번 글에서는 구글의 노캡차 리캡차 사용을 위해 필수적인 사전 절차로, 사이트를 등록하고 리캡차 API 사용을 위한 Site Key 와 Secret Key 를 얻는 방법을 알아보려고 합니다.
참고로 중국같은 일부국가 안에서는 인터넷 사용에 있어서 만리방화벽(Great Firewall, 황금방패)에 의해서 Google 사이트와의 통신 자체가 막혀있는데요. 댓글이나 폼작성을 위해서 반드시 리캡차를 통과해야하는데 애초에 리캡차 API가 동작이 안되므로(구글서버로부터 자바스크립트를 다운받을 수 없음) 중국내의 방문자는 그들이 VPN같은 서비스를 사용하지 않고선 자신의 사이트에서 댓글이나 폼작성, 로그인등을 할 수 없는 문제가 생깁니다. 중국내 방문자들이 중요하다면 구글의 리캡차보다는 허니팟(Honeypot, 허니포트)같은 다른 솔루션이 대안이 될 것입니다.
리캡차 버전: V2와 V3
스팸 봇을 막기위한 방법으로 리캡차는 좋은 수단이겠지만 정작 진짜 사람인 방문자에게는 불편을 주기도 합니다. 체크박스를 클릭하고 사진에서 사물찾기 놀이를 하는 것도 한 두번이지 뭔가 해야할 때마다 매번해야한다면 아무도 달가워하지 않죠. 최근 Tistory 글쓰기에 리캡차가 도입된 후로 그러한 불편에대한 성토가 늘어나고 있기도 하고 있습니다.
구글의 리캡차는 계속해서 버전업되어왔고 지금 V2가 널리쓰이고 있으며 최근에는 V3가 나왔습니다. 사용자 불편을 줄이기위해 방문자가 로봇이 아닌것으로 판정된다면 애초에 ‘로봇이 아닙니다’ (I’m not a robot) 체크박스를 제시하지 않는 V2 버전의 Invisible(보이지않는 리캡차) 유형부터 최근 발표된 V3 역시도 그런 사용자 불편을 최소화하고 사람과 로봇을 구분할 수 있는 기술에 초점이 맞춰져있습니다. 스팸도 거르는 김에 많은 사람의 수고를 자동화 DB 구축에 사용하고자하던 캡차의 초기 목적은 이제 온대간데 없어지고 좀 더 시스템 침입방지 솔루션인 허니팟과 좀 더 비슷해진 것같습니다.
이렇게 사이트 이용자에게 주는 불편을 최소화할 리캡차 V3까지 출시되었지만 워드프레스 플러그인에 따라 아직은 V2 까지만 지원하는 것들이 많습니다. 워드프레스에서 사용할 목적으로 사이트키와 시크릿키가 필요한경우 자신이 사용하려는 플러그인이 지원하는 리캡차 API 버전이 V2인지 V3인지를 먼저 알고 그에 맞게 등록해야하겠습니다.
리캡차에 사이트 등록 후 사이트 키와 시크릿 키 얻기
먼저 공식 웹페이지에 들러보면 아래 그림처럼 나옵니다.
화면 오른쪽 위에 버튼을 클릭해서 Google 계정으로 로그인해야합니다. 구글 계정이 없다면 가입하고 진행해야겠죠
로그인 후 아래처럼 Register a new site 또는 You don’t have any sites registered to use the reCAPTCHA API 라는 안내가 나오면 아래 양식을 작성해서 곧바로 사이트를 추가해주면 됩니다.
V3를 사용할 수 없는 상황이라서 V2 버전이 필요하고 웹사이트에서 사용할 목적이라면 Checkbox와 Invisible 중에하나를 고르면 되겠습니다. 그럴경우 Invisible을 추천합니다.
- Label: 자신이 알아볼 이름을 지어줍니다.
- Choose teh type of reCAPTCHA: 리캡차 버전과 종류를 고릅니다.
- reCAPTCHA v3: 버전 3 선택 (신규버전)
- reCAPTCHA v2: 버전 2 선택. 아래 3가지 유형중 하나를 골라야합니다.
- Checkbox: 체크박스 형태
- Invisible: 보이지 않는 리캡차 형태
- Android: 스마트폰 안드로이드 앱개발에 쓰일 리캡차 형태
- Domains: 자신의 웹사이트 도메인명을 넣습니다. 여러 도메인을 한번에 등록하려면 엔터키를 사용해 여러줄로 작성해주면 됩니다. 메인 도메인만 등록하면 서브도메인도 함께 등록됩니다.
- Accept the reCAPTCHA Terms of Service: 리캡차 사용약관에 동의하는지의 여부입니다. 체크해서 동의를 해야 사용할 수 있습니다.
- Send alerts to owners: 자신의 사이트에 문제가 있거나 스팸봇으로 의심되는 트래픽이 많아지면 이메일로 소식을 받을 건지의 여부를 선택합니다. 이것은 선택사항입니다.
리캡차 Site key 와 Secret key
그러면 곧바로 다음페이에서 Adding reCAPTCHA to your site 섹션을 보여주고 Keys 항목에서 사이트키(Site Key)와 시크릿키(Secret key)를 보여줍니다.
사이트키와 시크릿키는 랜덤문자로 이루어져있습니다. 위 그림에서 나온대로 사이트키와 시크릿키를 복사해서 필요한 곳에 붙여넣어 사용하면 되겠습니다.
Keys, Step 1, Step 2는 아래처럼 접혀져 있을 수도 있는데 클릭해서 펼쳐서 확인해보면 됩니다.
Step 1과 Step 2는 HTML과 자바스크립트를 사용해 직접 API동작을 구현하는 웹퍼블리셔와 웹개발자들을 위한 설명입니다. 일반적인 워드프레스 사용자에겐 불필요한 설명이므로 신경쓰지 않아도 될테고 개발자라면 무엇을 해야할지 읽어보면 되겠죠.
리캡차 등록사이트 목록 보기 및 관리하기
차후 리캡체 웹사이트에 다시 로그인하거나 사이트 위쪽에 화살표 버튼을 눌러서 자신이 등록한 전체 사이트목록을 볼 수 있습니다.
그러면 Manage your reCAPTCHA API keys 화면에서 자신이 등록했던 모든 사이트 목록이 나옵니다.
설정 변경 및 reCAPTCHA 키 삭제하기
위 그림의 사이트목록에서 사이트를 클릭하면 다시 아래처럼 나타나게 됩니다. 여기에서 Keys 섹션을 펼쳐서 다시 사이트키와 시크릿키를 복사해올 수도 있고, Key Settings 섹션에서 키 설정을 변경하거나 그 옆에 있는 (삭제) 버튼을 눌러서 삭제할 수 있습니다.
Domains(도메인입력)와 Owners(이메일주소입력)은 여러개라면 여러줄로 나눠서 입력하면 됩니다.
안녕하세요. 항상 좋은 글 감사합니다. 다름이 아니라 리캡챠 V3를 만들었는데요. 사이트 키와 시크릿 키는 각각 어디에다가 붙여넣기 해야 될까요?
플러그인 마다 설정칸이 있을 겁니다. Elementor의 경우 관리자화면 > Elementor > Settings > integrations 에 있고, 콘택트 폼 7 은 관리자화면 > 연락처 > 통합에 있습니다.
안녕하세요 댓글플러그인 어떤거 사용하시는건가요 혹시 코스모스팜 소셜댓글인가요?
젯팩 입니다
ㅁ