테스트 사이트 - 개발 중인 베타 버전입니다

구글 리캡차 reCAPTCHA 를 그누보드 기본 캡차로 변경하는 플러그인 - 그누보드 5.2 용

recaptcha3.gif
recaptcha1.gif
recaptcha2.gif
recaptcha4.gif
 
********
 
그누보드 5.3 에는 구글 갭챠가 기본기능으로 추가가 되었습니다. 
따라서, 그누보드 5.3 에서는 이 플러그인이 정상 동작하지 않습니다. 
본 플러그인은 그누보드 5.2 용입니다. 
 
 
========
 
 
Invisible reCAPTCHA 를 적용한 버전이 새로 나왔습니다. 
 
 
 
 
 

그누보드5 의 기본 캡차인 kcaptcha 대신에, 구글의 캡차인 reCAPTCHA 를 사용하도록 변경하는 플러그인 입니다.


1. 구글 리캡차를 사용하려면, Site Key 와 Secret Key 를 발급받아야 합니다.

리캡차를 사용하려는 웹사이트 도메인을 구글에 등록하고, 도메인 정보가 포함된 site key 와 secret key 를 발급받아야 합니다.
도메인 정보가 일치하지 않으면, 구글 리캡차는 동작하지 않습니다.
웹사이트 도메인 등록하는 곳 : https://www.google.com/recaptcha/admin


2. 설치 방법

2-1. 플러그인 파일 업로드

위 사이트에서 등록후 부여되는 site key 와 secret key 를,
본 플러그인 폴더 안에 있는 recaptcha_api.php 파일을 열어, 상단에 있는 변수값에 입력합니다.

본 플러그인 폴더를 그누보드 plugin 폴더에 업로드 합니다.

2-2. config.php 파일 수정

그누보드 루트 폴더에 있는 config.php 에서
define('G5_CAPTCHA_DIR', 'kcaptcha');
라고 되어 있는 부분을
define('G5_CAPTCHA_DIR', 'recaptcha');
로 변경합니다.

업로드시에 폴더명을 변경하였다면, 적절하게 맞춰 주시면 됩니다.


3. 제한 사항

curl 을 이용하므로, PHP curl 모듈이 설치되어 있어야 합니다. 일반적으로 설치되어 있습니다. ^^
file_get_contents 를 사용하기 위해서는 소스의 수정이 필요합니다.


4. 참고 및 유의 사항

- 그누보드에서 사용되는 모든 캡차가 변경됩니다. 글쓰기, 회원가입, 쪽지 등

- recaptcha response 값을 서버단에서도 verify 합니다. secret key 가 필요합니다.

- 게시판 글쓰기에서만 reCAPTCHA 를 사용하고자 하신다면
http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=7069
여기를 참고하시기 바랍니다.

- 테스트 url : http://www.baragi.net/bbs/write.php?bo_table=test_recaptcha


5. 수정사항

- 20150721
recaptcha 폴더 안에 빈폴더 mp3/basic 를 하나 만들어 주세요.

- 20161117
jQuery 1.9+ 에서 live 메소드가 없어졌습니다. recaptcha.js 파일 소스에서 live 가 on 으로 변경되었습니다.
참고 : http://www.baragi.net/bbs/board.php?bo_table=dev&wr_id=8635


6. 추가사항

6-1. CA 인증 관련 오류가 날 경우 아래 구문을 추가해 주세요. ( 참고 : http://sir.kr/qa/112257 )

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

6-2. 모바일환경 등에서 가로사이즈가 커서 틀이 깨질때, 세로 형태의 위젯으로 바꿀 수 있습니다.

recaptcha_api.php 파일 안에 있는 g-recaptcha 에 data-size="compact" 를 추가해 주시면 됩니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 79개

대박 플러그인이네요!!!
감사합니다. ^^
너무 감사합니다 대박입니다 복 받으세요
감사합니다. ^^
다 좋은데 모바일 버젼에서 회원가입시 테이블이 틀어지네
구글 리캡차의 사이즈가 커서 그런 것 같은데요..
사이즈 조절을 할 수가 없어서, 어떻게 할 수 있는 부분이 아닌 것 같습니다. ㅠㅠ
[code]
<?php
// google reCAPTCHA 는 캡차 코드가 사용되는 도메인을 등록해야 사용할 수 있습니다.
// 웹사이트 도메인 등록하는 곳 : https://www.google.com/recaptcha/admin
// 캡챠 코드가 사용되는 웹사이트 도메인을 등록한 후에, 주어지는 Site Key 와 Secret Key 를 아래 변수값에 입력하면 됩니다.
// Site Key 에 등록된 도메인이 아니면, 구글 리캡차는 동작하지 않습니다.

$recaptcha_site_key = "6LejhQQTAAAAABIQ782EzZH32wavvB97qN3i_F5Q";
$recaptcha_secret_key = "6LejhQQTAAAAACI2erK7LM1rx87XYM2bzAPJOnm3";
$recpacha_css="";
if(G5_IS_MOBILE){
$recpacha_css="style=\"transform:scale(0.77);transform-origin:0 0\"";
}

// 구글 리캡챠 HTML 코드 출력
function recaptcha_html()
{
global $recaptcha_site_key;

$html = "";
$html .= "\n".'<div id="google-recaptcha">';
$html .= "\n".' <script src="https://www.google.com/recaptcha/api.js"></script>';
$html .= "\n".' <div class="g-recaptcha" data-sitekey="'.$recaptcha_site_key.'" '.$recpacha_css.'></div>';
$html .= "\n".'</div">';
$html .= "\n";
return $html;
}

if ($_POST['gubun'] == "1") { echo recaptcha_html(); }
?>

[/code] 해보세요
크기를 줄이는 것이군요.. 감사합니다. ^^
변화가 없어요 ㅠㅠ 환경은 ios 입니다.
위의 코드
$recpacha_css="style=\"transform:scale(0.77);transform-origin:0 0\"";
부분에 사파리 등을 위해 추가를 해 주면 됩니다.
아래와 같이 수정하여 해 보시기 바랍니다.

$recpacha_css="style=\"transform:scale(0.77);-webkit-transform:scale(0.77);-ms-transform:scale(0.77);transform-origin:0 0\"";
혹시 pc모드에서는 위 구글캡챠 적용하고 모바일캡챠는 기본 캡챠 가능할까요?
그렇게 구현하려면, 그누보드 기본 소스를 좀 수정해야 할 것 같은데요.
꼭 그래야만 하는 무슨 이유라도 있는지요? ^^
아 제가 적용해놓은 사이트에 모바일에서는 음성캡챠만 사용중이거든요.
근데 위 캡챠경우 음성은 영문 음성으로 알려주다보니....
그래서 모바일은 그누보드5에 내장된 음성 캡챠 이용하려고했던거예요!
혹시나 그해서 가능한지 문의 드린거예용!
스킨 차원에서만 수정이 되면 좋은데, 그누 기본 소스를 건드리게 되면 일이 커지기 때문에 고민입니다.
config 설정이 모바일이냐 아니냐를 결정하는 것보다 더 상단에 있기 때문에, 어려울 것이라 생각됩니다.
고려는 해 보겠습니다만, 장담은 드리기 힘들 것 같습니다. ㅠㅠ
마스타님 화이팅!!!!짱!
아..그런문제가있었구나..이런거에대해 잘모르다보니.ㅠㅠ 혹시 가능한지 궁굼해서 물어본거에요~~
스팸이 잔뜩쌓이던 사이트에 적용했습니다.
이것으로 문제가 해결되면 좋겠습니다.
좋은 자료 감사합니다.~~~
그누보드5.0.39 버전에 적용을 했는데 '로봇이 아닙니다' 체크 후 글등록 버튼을 누르면,
'자동등록방지 숫자가 틀렸습니다.'가 뜨면서 글 등록이 안됩니다.
플러그인에서 이항목을 건너뛰게 할 수는 없을까요?
이전 버전에서는 정상동작했는데, 5.0.39 업데이트 후에 그런 현상이 생긴다는 말씀이신가요?
확인해 보겠습니다.
이번에 새로 설치를 해서 이전 버전은 테스트를 못했습니다;
그렇다면, site key 나 secret key 에 문제가 있거나,
서버단에서 캡차값 체크하는 부분에 문제가 있어 보이는데요.

secret key 값을 확인해 보십시오.
site key와 secret key는 비교해 봤지만 이상이 없습니다. 작동까지 잘 됩니다.
그러니까 '로봇이 아닙니다'까지 체크가 되고 그 이후에 경고창이 떠서 우선은 bbs/ 관련 파일들의 alert 항목을 지우고 사용중입니다.
전체를 새로 설치하고 소스를 따로 수정한 것 없이 테스트를 한건데 이렀네요.
바꾼거라고는 그누보드 기본환경설정의 음성캡챠선택 오류로 저장이 안되서 mp3 폴더에 basic 폴더를 하나 만들어줬습니다.
감사합니다.
답변이 늦어서 죄송합니다. ㅠㅠ
혹시 서버에 PHP curl 모듈이 설치되어 있는지 한번 확인해 주시기 바랍니다.
마스타님 감사합니다.
그런데 mp3풀더에는 아무것도 없다보니 관리자 환경설정에서 자꾸 음성캡챠를 선택하라고 하니 환경설정 적용을 못하네요..ㅠㅠ
아. 그런 버그가 있었군요.. ㅠㅠ
recaptcha 폴더 안에 빈폴더 mp3/basic 를 하나 만들어 주세요.
넵.안그래도 복사 하나 했습니다.감사합니다.^^
게시판 하나가 심하게 뚫려서 적용해보고자 합니다. 개발자가 없어서 혼자 열심히 해야하는데 응원해주세요 >_<
응원합니다. ^^
뜨는데 살짝 렉?이 있네요 헌데 모바일에서 누르기만 하는 간편함을 제공하니 좋은데 개선되겠죠?!ㅎ

마스타님 플러그인을 빌더에 배포해도 무관한지 고수님께 여쭙습니다 ㅎ
리캡차가 살짝 늦게 뜨는 것은, 구글 서버에서 바로 서비스되기 때문에 그럴 수도 있습니다.

출처만 남겨 주신다면, 마음대로 사용하셔도 됩니다. ^^
출처는 오픈라이센스라 구글리캡챠쪽으로 해야되고
도움주신분으로 마스타님을 걸면 되겠죠?ㅎ 감사합니다 !ㅎ
속도쪽은 제가 소스좀 살펴봐야겟네요~
자동등록방지 기능이 너무나 쉽게 잘 작동 됩니다.
감사합니다.
잘 작동한다니, 다행이네요.
감사합니다. ^^
구글 리캡차 reCAPTCHA 를 그누보드 기본 캡차로 변경하는 플러그인
- recaptcha response 값을 서버단에서도 verify 합니다. secret key 가 필요합니다

이건 어디서 수정해야지 되나요??
그누보드 5.1.19 버젼에서

'로봇이 아닙니다' 체크 후 글등록 버튼을 누르면,

한참 몇분지나서

'자동등록방지 숫자가 틀렸습니다.'가 뜨면서 글 등록이 안됩니다.

해결주시면 안되나요??
"한참 몇분지나서" 라는 것이 어떤 상황인지요?
'자동등록방지 숫자가 틀렸습니다.'가 뜨면서 글 등록이 안됩니다.

이렇게 나옵니다.

http://gaonnuri.co

회원가입으로 한번 테스트 해보세요
구글 리캡차의 작동방법을 보면,
리캡차 값을 체크하면 웹서버에서 구글사이트로 리캡차 값을 보내서 확인하는 과정이 있습니다.

아마도 이부분, 즉 웹서버에서 구글리캡차 사이트의 특정 url 을 호출하는 과정..
에서 막힌 것 같습니다.

서버의 방화벽 등에서 해당 부분을 체크해 보시기 바랍니다.

서버를 직접 관리하는 것이 아니시라면, 서버 관리자에게 문의해 보세요.
서버 관리자한테 뭐라고 말씀드려야지 되나요??
웹서버에서 구글 리캡차 사이트인

https://www.google.com/recaptcha/api/siteverify

를 접속해야 한다고 해 보세요.
한글도메인( 한글.한국, 한글.com, 한글.kr)은 익스플로러 6,7,8,9 에서 사용불가능합니다.
그누보드 기본캡차도 역시 작동불가능합니다. ㅠㅠ
그런 슬픈 사실이 있군요. ㅠㅠ

한글 도메인은 생각해 본 적이 없어서..
잘 되네요. ㅎㅎ 감솨합니다.
구글 리캡차 적용하는 플러그인 감사합니다. 스크랩 해가요~
I'm not a robot 이렇게 영어 버젼으로 나오는데 맥사용이라서 그런건가여?
한글 버젼도 있난요?
한글 버전이 따로 없는 것 같은데요.
혹시 vpn 이나 ip 우회 프로그램 사용하시나요?
해결했어요 ... 전 디자인만 하는 사람이라...
recaptcha_api.php 파일에...

$html .= "\n".' <script src="https://www.google.com/recaptcha/api.js?></script>';
이부분을 수정...
$html .= "\n".' <script src="https://www.google.com/recaptcha/api.js?hl=ko"></script>';
요렇게 부분 수정 했더니....한한글로 나오네요... ㅡ,,ㅡ;;;
오오~~

좋은 팁 알려 주셔서 감사합니다. ~~
플러그인 폴더에 수정하고 올렸는데.. 아무것도 안나오네용,... ㅡㅜ
좀더 자세한 현상 설명이나 링크를 알려 주시면 해결에 도움이 될 것 같습니다.
링크는 http://www.seaferry.co.kr/bbs/register_form.php 입니다.

수정내용은 루트의 컨피그를 리캡차로 변경했구요

나머지 파일은 키를 입력받아 수정후 플러인 폴더에 업로드하였습니다
recaptcha.js 파일 소스에서

$("#captcha_reload").live("click", function(){

$("#captcha_reload").on("click", function(){
로 바꿔 보세요.

jQuery 1.9+ 에서 live 가 없어졌습니다.

플러그인 소스를 업데이트 해야 겠습니다.
감사합니다.
답변감사합니다.

여전히 동작하지 않습니다 ..ㅡㅜ
캡챠를 원래대로 바꾸셔서 확인할 수가 없네요.

recaptcha.js 파일이 브라우저 캐싱되어 있을 수 있습니다.
새로고침 해 보시고, 캐싱된 파일을 한번 확인해 보세요.
다시 적용했는데요.. 확인은 어찌하냐요?
운영중인 사이트이신가요?

지금 보니 다시 기본 캡챠이군요..
도메인도 동일하게 했는데.. 혹시 몰라서.. www 뺀것도 같이 등록했습니다.
일단... 필드 하나 만들어서.... 수식을 넣어,. 답 넣는걸로 변경.. 이넘의 스팸.. 징하네요..
넵 운영중인 사이트라 ^^:;
제가 만든 플러그인이라 도와 드리고 싶은데.. 방법이 없네요. ^^
비회원 글쓰기시에는 필수로 해야할 듯합니다. 원천적으로 G5의 캡챠 버그를 잡아주시면 더 좋겠지만...
마스타님 지금 플러그인 정말 잘 쓰고 있습니다.


이번에

https://www.xetown.com/alley/447985

위 링크처럼 리캡챠를 안보이게 만들 수도 있을 것 같습니다.

어떻게 수정하면 될까요?
새로운 것이 나왔나 보군요.. 살펴 봐야 겠습니다.

관심가져 주셔서 감사합니다.
업그레이드 되면 모두에게 좋으니깐요 ㅎㅎ

마스타님 덕분에 편하게 쓰고 있습니다. ㅎㅎ
Invisible reCAPTCHA 를 적용해 봤습니다. ^^

https://sir.kr/g5_plugin/2770
진짜 너무 감사합니다!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
저는 자동등록방지 숫자가 계속 뜨지 않아서 해결방법을 찾다 이게시물까지 왔는데
너무 좋아요 ㅠㅠ 한방에 해결되었어요
리캡챠!!! 너무 좋네요 ㅠㅠ
너무너무너무 감사합니다!!!!!!!!!
마스타님 이런 좋은 플러그인을 공유해주셔서 감사합니다.

저도 위에 오류처럼 같은 오류를 겪고있어 질문하나 남겨봅니다.

호스팅은 cafe24 가상서버를 쓰고있으며

php버전은 7.0.1 curl 7.29버전 enabled상태이며

리캡차는 잘뜨고 체크도 잘됩니다.

하지만 쪽지보내기,회원가입 버튼을 누르면

"자동등록방지 숫자가 틀렸습니다" 가 뜹니다.

어디쪽의 문제일까요?

일단 임시로

if (!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
경고창만 지우고 쓰고있습니다
쪽지와 회원가입 말고, 게시판 글쓰기는 잘 되시는지요?
혹시 구글 로봇이 아닙니다 이거 안뜨게하는 법은 없나요?ㅠㅠ 자꾸 게시물읽을때마다 일정시간지나면 계속 로봇이 아닙니다 떠서 그림맞추기해야합니다 제발 없애는법좀 알려주세요
글읽기에서 그림 맞추기가 뜬다는 말씀이신가요?
볼 수 있을 까요?
구글 리캡차 reCAPTCHA 를 그누보드 기본 캡차로 변경하는 플러그인
그누보드 5.3 에는 구글 갭챠가 기본기능으로 추가가 되었습니다.
따라서, 그누보드 5.3 에서는 위 플러그인이 동작하지 않습니다.
좋은 자료 감사합니다!

게시판 목록

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.
글쓰기
🐛 버그신고