그누보드 캡차를 구글 Invisible reCAPTCHA 로 변경하는 플러그인 - 그누보드 5.2 용 정보
그누보드 캡차를 구글 Invisible reCAPTCHA 로 변경하는 플러그인 - 그누보드 5.2 용첨부파일
본문
********
그누보드 5.3 에는 구글 갭챠가 기본기능으로 추가가 되었습니다.
따라서, 그누보드 5.3 에서는 이 플러그인이 정상 동작하지 않습니다.
본 플러그인은 그누보드 5.2 용입니다.
========
구글 리캡챠에서 새로나온 Invisible reCAPTCHA 를 적용해 보았습니다.
기존 리캡챠 플러그인은 https://sir.kr/g5_plugin/618 에 있습니다.
그누보드5 의 기본 캡차인 kcaptcha 대신에, 구글의 리캡차 Invisible reCAPTCHA 를 사용하도록 변경하는 플러그인 입니다.
구글 Invisible reCAPTCHA 페이지
https://developers.google.com/recaptcha/docs/invisible
1. 구글 리캡차를 사용하려면, Site Key 와 Secret Key 를 발급받아야 합니다.
리캡차를 사용하려는 웹사이트 도메인을 구글에 등록하고, 도메인 정보가 포함된 site key 와 secret key 를 발급받아야 합니다.
도메인 정보가 일치하지 않으면, 구글 리캡차는 동작하지 않습니다.
웹사이트 도메인 등록하는 곳 : https://www.google.com/recaptcha/admin
2. 설치 방법
2-1. key 변수값 입력
위 사이트에서 등록후 부여되는 site key 와 secret key 를,
본 플러그인 폴더 안에 있는 recaptcha_api.php 파일을 열어, 상단에 있는 변수값에 입력합니다.
2-2. Invisible reCAPTCHA 옵션 설정하기
ㅁ Invisible 리캡차가 보이는 모양은 크게 3가지 입니다.
recaptcha_api.php 파일 안의 $recaptcha_badge 값으로 설정할 수 있습니다.
- bottomright - 브라우저 화면 아래 오른쪽 귀퉁이에 탭모양으로 (기본값)
- bottomleft - 브라우저 화면 아래 왼쪽 귀퉁이에 탭모양으로
- inline - 코딩된 위치에 배너 모양으로
ㅁ Invisible reCAPTCHA 를 완전히 보이지 않게 하기
$recaptcha_badge 값을 inline 으로 둔 상태에서 css 로 보이지않게 하면 됩니다.
예) css 파일 안에 아래코드를 넣으시면 됩니다. inline 상태에서만 css 가 먹습니다.
.g-recaptcha {display:none;}
2-3. 플러그인 파일 업로드
본 플러그인 파일들을 그누보드 plugin 폴더에 업로드 합니다.
2-4. config.php 파일 수정
그누보드 루트 폴더에 있는 config.php 에서
define('G5_CAPTCHA_DIR', 'kcaptcha');
라고 되어 있는 부분을
define('G5_CAPTCHA_DIR', 'recaptcha_invisible');
로 변경합니다.
업로드시에 폴더명을 변경하였다면, 적절하게 맞춰 주시면 됩니다.
3. 제한 사항
curl 을 이용하므로, PHP curl 모듈이 설치되어 있어야 합니다. 일반적으로 설치되어 있습니다. ^^
file_get_contents 를 사용하기 위해서는 소스의 수정이 필요합니다.
4. 참고 및 유의 사항
- 그누보드에서 사용되는 모든 캡차가 변경됩니다. 글쓰기, 회원가입, 쪽지 등
- recaptcha response 값을 서버단에서도 verify 합니다. secret key 가 필요합니다.
5. 수정사항
6. 추가사항
6-1. CA 인증 관련 오류가 날 경우 아래 구문을 추가해 주세요. ( 참고 : http://sir.kr/qa/112257 )
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
6-2. 사이트키를 사용할 수 없다는 메시지가 나오면, Invisible reCAPTCHA 키를 새로 발급받아서 해 보시기 바랍니다.
7. 테스트 URL
http://www.baragi.net/bbs/board.php?bo_table=test_recaptcha_invis
14
댓글 전체
시간나면 적용해봐야겠네요
감사합니다.
감사합니다.
곧 적용해 보겠습니다.
혹시라도 버그가 있으면 알려 주세요. ^^
감사합니다.
그런데 구글캡차를 사용하면 그누 기본 캡차 사용할때보다
글쓰기 버튼 누른 후 글 작성되는 시간이 좀 오래 걸리던데 이건 원래 이런건가요?
새로운 캡차나 기존 구글 캡차나 동일하게 좀 느린듯 해서요.
그리고 마스타님 테스트 링크에서는 글쓰기가 안되네요.
아마도 구글 서버를 경유하기 때문인 것으로 보입니다.
제 생각으로 이것은 개선이 힘들 듯 합니다.
그리고, 테스트 링크 수정해 놓았습니다. 죄송합니다. ㅠㅠ
혹시라도 버그가 있으면 알려 주세요. ㅎㅎ
이렇게 좋은걸 이제야 봤네요~
마스타님 사용하고 싶습니다.
Site Key 와 Secret Key 를 발급 받아서 리차_api 파일에다가 넣어줬는데 안되네요.
혹시 뭔가를 더해야하나요?
Invisible reCAPTCHA 로 키를 새로 발급받아서 해 보시기 바랍니다.
두번째로 하니까 잘되네요..
첫번째 골라서 키 받앗엇거든요
감사합니다. 마스터님~~
멋지고 좋은 소스 공개해 주셔서 감사합니다.
감사합니다.^0^
사용하다보니까 안되는것을 발견했어요
비회원일때(로그인안했을때) 대댓글이나 대대댓글, 대대대댓글등은 리챠가 안나와요
나오게 하려면 어떻게 수정하면 좋을까요?
동작하지 않는 것이 확인되었습니다.
고쳐 보려고 하는데 잘 안되어서, 고민하고 있었는데..
그누보드 5.3 에서 구글캡챠가 기본 기능으로 추가가 되었습니다. ^^
그래서 그냥 수정을 포기하고 있습니다.
아마도, 수정이 힘들 것 같습니다.
죄송합니다.
이렇게 좋은 자료 공개해주신것만으로도 감사합니다.^0^b
역시 위와같은 팝업창이 뜹니담..
감사합니다. (_ _)
대댓글에서 동작하지 않는 현상은 확인이 되었습니다.
해당 기능이 대댓글에서 구현이 어려운 점도 있고,
무엇보다 그누보드 5.3 에서 구글캡챠가 기본으로 들어가게 되어서..
그누보드 5.3 을 기다리고 있습니다. ^^
불편을 드려 죄송합니다.
위 본문의 2-2 처럼 옵션을 확인해 보세요.
그리고, 실치된 곳을 보여 주시면, 좀더 정확하게 답변드릴 수 있을 것 같습니다.