구글 reCAPTCHA 리캡차를 글쓰기에 적용한 게시판 스킨 정보
게시판 구글 reCAPTCHA 리캡차를 글쓰기에 적용한 게시판 스킨첨부파일
본문
그누보드5 의 기본 캡차인 kcaptcha 대신에 구글의 캡차인 reCAPTCHA 를 사용하도록 변경하였습니다.
1. 구글 리캡차를 사용하려면, Site Key 를 발급받아야 합니다.
리캡차를 사용하려는 웹사이트 도메인을 구글에 등록하고, 도메인 정보가 포함된 site key 를 발급받아야 합니다.
도메인 정보가 일치하지 않으면, 구글 리캡차는 동작하지 않습니다.
웹사이트 도메인 등록하는 곳 : https://www.google.com/recaptcha/admin
2. 설치 방법
위 사이트에서 등록후 부여되는 site key 를,
이 스킨 폴더 안에 있는 google_recaptcha.php 파일을 열어 data-sitekey 변수값에 입력합니다.
본 게시판 스킨을 그누보드 스킨 폴더에 업로드 한 후, 게시판 스킨으로 이 스킨을 선택하여 사용하시면 됩니다.
write_update.head.skin.php 와 write_comment_update.head.skin.php 파일을 열어 적절하게 구문을 작성하시면 됩니다.
3. 참고 및 유의 사항
- 그누보드 기본소스를 건드리지 않기 위해 kcaptcha 값은 서버에서 받아서 자동으로 입력합니다.
- recaptcha 의 값이 있느냐 없느냐 만 체크합니다. 유효성 검사를 하지 않습니다. ^^ 아래 7번 참조.
- 테스트 url : http://www.baragi.net/bbs/write.php?bo_table=test_recaptcha
4. 수정 이력
- 2015-05-01 13:00 공통코드를 include 로 뺐습니다.
- 2015-09-16 테마의 스킨폴더에 넣어도 동작하도록 수정하였습니다.
5. 기존 스킨에 적용 방법
1) 필요한 파일을 복사합니다.
ajax_captcha.php
captcha_change.php
google_recaptcha.php
write_update.head.skin.php
write_comment_update.head.skin.php
2) write.skin.php 와 view_comment.skin.php 의 아랫부분에 다음 인클루드 코드를 추가합니다.
<?php include_once($board_skin_path.'/captcha_change.php'); ?>
3) 폼 서브밋 하는 함수에서 kcaptcha 검사하는 코드 윗부분에 다음 스크립트 코드를 추가합니다.
if ($('#g-recaptcha-response').val() == "") {
alert("자동등록방지를 확인해 주십시오.");
return false;
}
6. 그누보드4 용은 아래에 있습니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=153501
7. 모든 게시판에 일괄적으로 구글 리캡챠를 적용하기 위해 플러그인 형태로 작업된 것도 있습니다.
플러그인 에서는 구글 리캡챠의 값을 서버단에서도 유효성 검사를 합니다. ^^
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=618
.
1. 구글 리캡차를 사용하려면, Site Key 를 발급받아야 합니다.
리캡차를 사용하려는 웹사이트 도메인을 구글에 등록하고, 도메인 정보가 포함된 site key 를 발급받아야 합니다.
도메인 정보가 일치하지 않으면, 구글 리캡차는 동작하지 않습니다.
웹사이트 도메인 등록하는 곳 : https://www.google.com/recaptcha/admin
2. 설치 방법
위 사이트에서 등록후 부여되는 site key 를,
이 스킨 폴더 안에 있는 google_recaptcha.php 파일을 열어 data-sitekey 변수값에 입력합니다.
본 게시판 스킨을 그누보드 스킨 폴더에 업로드 한 후, 게시판 스킨으로 이 스킨을 선택하여 사용하시면 됩니다.
write_update.head.skin.php 와 write_comment_update.head.skin.php 파일을 열어 적절하게 구문을 작성하시면 됩니다.
3. 참고 및 유의 사항
- 그누보드 기본소스를 건드리지 않기 위해 kcaptcha 값은 서버에서 받아서 자동으로 입력합니다.
- recaptcha 의 값이 있느냐 없느냐 만 체크합니다. 유효성 검사를 하지 않습니다. ^^ 아래 7번 참조.
- 테스트 url : http://www.baragi.net/bbs/write.php?bo_table=test_recaptcha
4. 수정 이력
- 2015-05-01 13:00 공통코드를 include 로 뺐습니다.
- 2015-09-16 테마의 스킨폴더에 넣어도 동작하도록 수정하였습니다.
5. 기존 스킨에 적용 방법
1) 필요한 파일을 복사합니다.
ajax_captcha.php
captcha_change.php
google_recaptcha.php
write_update.head.skin.php
write_comment_update.head.skin.php
2) write.skin.php 와 view_comment.skin.php 의 아랫부분에 다음 인클루드 코드를 추가합니다.
<?php include_once($board_skin_path.'/captcha_change.php'); ?>
3) 폼 서브밋 하는 함수에서 kcaptcha 검사하는 코드 윗부분에 다음 스크립트 코드를 추가합니다.
if ($('#g-recaptcha-response').val() == "") {
alert("자동등록방지를 확인해 주십시오.");
return false;
}
6. 그누보드4 용은 아래에 있습니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=153501
7. 모든 게시판에 일괄적으로 구글 리캡챠를 적용하기 위해 플러그인 형태로 작업된 것도 있습니다.
플러그인 에서는 구글 리캡챠의 값을 서버단에서도 유효성 검사를 합니다. ^^
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=618
.
추천
11
11
댓글 전체
아주 유용한 스킨입니다.
write.skin.php 에 <?php include_once(G5_PLUGIN_PATH.'/boanserver/gnuboard/form.php'); ?> 는 빼줘야겠죠?
write.skin.php 에 <?php include_once(G5_PLUGIN_PATH.'/boanserver/gnuboard/form.php'); ?> 는 빼줘야겠죠?
아. 그 코드가 들어 있나요?
http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=6984
여기서 사용하는 건데.. 삭제하셔도 됩니다. ^^
http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=6984
여기서 사용하는 건데.. 삭제하셔도 됩니다. ^^
좋은 자료 감사합니다.^^ 난 언제 저런걸 해보나 ;;
최대한 심플하게 만들려고 하다 보니, 소스 보시면 그렇게 복잡하지 않습니다. ^^
감사합니다. 다른 게시판에도 적용 하고 싶은데요. 어디어디를 수정해야 하는지 말씀해 주시면 안될까요?
소스를 보시면 적용하는 데는 어렵지는 않은데..
적용하기 쉽게 인클루드로 빼 봐야 겠습니다. ^^
적용하기 쉽게 인클루드로 빼 봐야 겠습니다. ^^
본문 수정해 놓았습니다.
한번 적용해 보십시오.. ^^
한번 적용해 보십시오.. ^^
오 대박.....................
감사합니다. ^^
저 한가지 궁금한것이 있는데.. 로봇일때는 #g-recaptcha-response로 값이 전달되지않는건가요?
리캡차를 체크를 하면, 암호화된 값이 넘어갑니다. 체크하지 않으면 공백이 넘어갑니다.
로봇이라면 체크하지 못할 것이라는 가정을 하고.. 체크가 되었는지 안되었는지만 보는 것입니다. ^^
실제 구글 리캡차 사이트에 보시면, 넘어온 response 값을 서버단에서 점검하는 방법도 있습니다.
위 소스에서는 서버단 체크까지는 하지 않고, 단순하게, 값이 넘어 왔느냐 안왔느냐 만 체크를 합니다. ^^
로봇이라면 체크하지 못할 것이라는 가정을 하고.. 체크가 되었는지 안되었는지만 보는 것입니다. ^^
실제 구글 리캡차 사이트에 보시면, 넘어온 response 값을 서버단에서 점검하는 방법도 있습니다.
위 소스에서는 서버단 체크까지는 하지 않고, 단순하게, 값이 넘어 왔느냐 안왔느냐 만 체크를 합니다. ^^
그렇군요!!!!!!!! ㅠㅠ 감사합니다!!!
저도 이거를 적용해보려고햇다가..........실퍃햇는데요 ㅠㅠ 아직 초보인지라...
제가햇을떄 값을 넘길때 값이 adfasdfasfawerkjwalflaskfjlasfasklfjaslfjasfljasfjlasdf 대충 이러한......긴.....값이 전달되던데..이걸 서버단에서 체크를 할수가잇는건가요 ?? 혹시 그 페이지 공유좀 해주시면안될가요 ㅠㅠㅠㅠ...영문사이트는 정말이지 ..ㅠㅠ
저도 이거를 적용해보려고햇다가..........실퍃햇는데요 ㅠㅠ 아직 초보인지라...
제가햇을떄 값을 넘길때 값이 adfasdfasfawerkjwalflaskfjlasfasklfjaslfjasfljasfjlasdf 대충 이러한......긴.....값이 전달되던데..이걸 서버단에서 체크를 할수가잇는건가요 ?? 혹시 그 페이지 공유좀 해주시면안될가요 ㅠㅠㅠㅠ...영문사이트는 정말이지 ..ㅠㅠ
response 값을 서버단에서 verify 하는 문서입니다.
https://developers.google.com/recaptcha/docs/verify
영문 사이트라서 죄송.. ㅠㅠ
https://developers.google.com/recaptcha/docs/verify
영문 사이트라서 죄송.. ㅠㅠ
아!! 이해 됫습니다!! 감사합니다.
위 값이 true 값으로 return 될때만 넘어가게 하면되겟지요?
정석대로쓰려면 위 값을 return 받아서 써야겟지요!?
위 값이 true 값으로 return 될때만 넘어가게 하면되겟지요?
정석대로쓰려면 위 값을 return 받아서 써야겟지요!?
회원가입 폼에도 적용을 하고 싶은데요. 적용방법 알려주시면 안될까요? 감사합니다.
플러그인 형태로 바꿔서 회원가입과 게시판 글쓰기에 동시에 적용할 수 있도록 작업해 봐야 겠군요.
감사합니다. ^^
감사합니다. ^^
너무 감사합니다. 너무너무 기다려 지네요. 혹시 모바일까지 적용되는 건가요?
아 회원가입이나 쪽지 등 연동해서 사용하고싶은데 기본 캡챠말고 언제쯤 완성이 될런지...
오래걸린다면 회원가입이랑 쪽지에 적용할수있는 방법 아시는분 계실까요?
오래걸린다면 회원가입이랑 쪽지에 적용할수있는 방법 아시는분 계실까요?
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=618
플러그인으로 제작해 보았습니다. ^^
플러그인으로 제작해 보았습니다. ^^
리캡챠 얘기만 들어봤었는데 그누보드에도 적용이 가능하군요!!!
세상에 불가능은 없습니다.
시간과 노력과 비용이 들 뿐입니다. ^^
시간과 노력과 비용이 들 뿐입니다. ^^
테스트 해봤는데 잘 작동하네요.
좋은스킨 항상 감사합니다.
좋은스킨 항상 감사합니다.
사이트 전체의 캡차를 구글 리캡차로 바꾸는 플러그인 입니다.
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=618
이것도 한번 사용해 보십시오. ^^
http://sir.co.kr/bbs/board.php?bo_table=g5_plugin&wr_id=618
이것도 한번 사용해 보십시오. ^^
요거 그누4에서는 불가능한가요?
이리저리 만져보니 안나오던데 ㅜㅠ
이리저리 만져보니 안나오던데 ㅜㅠ
짜..짱입니다 ㅜㅠ
최신 그누보드는 테마를 사용하길래
이 스킨을 다른 스킨들 처럼 테마안의 스킨폴더에 넣었더니 제대로 작동이 안되네요.
처음에는 그누보드 최신버전에서는 작동이 안되는건가 했는데
테마안의 스킨폴더가 아닌 기본 스킨폴더에 넣으니 제대로 작동합니다.
사용의 편의성을 위해서 테마안의 스킨에서도 제대로 작동됐으면 좋겠습니다...^^
이 스킨을 다른 스킨들 처럼 테마안의 스킨폴더에 넣었더니 제대로 작동이 안되네요.
처음에는 그누보드 최신버전에서는 작동이 안되는건가 했는데
테마안의 스킨폴더가 아닌 기본 스킨폴더에 넣으니 제대로 작동합니다.
사용의 편의성을 위해서 테마안의 스킨에서도 제대로 작동됐으면 좋겠습니다...^^
테마의 스킨 폴더에 넣어도 동작하도록 수정하였습니다.
알려 주셔서 감사합니다. ^^
변경된 파일은 ajax_captcha.php 파일입니다.
알려 주셔서 감사합니다. ^^
변경된 파일은 ajax_captcha.php 파일입니다.
수정해주셔서 감사합니다.
지금 올려주신 새로운 파일로 테스트 해봤는데
테마에 올리면 이번에는 구글캡챠 자체가 나오지를 않습니다.
혹시나해서 예전 스킨에서 ajax_captcha.php만 새로 올려주신 파일로 해봤는데 제대로 작동하네요.
테마에 올리면 이번에는 구글캡챠 자체가 나오지를 않습니다.
혹시나해서 예전 스킨에서 ajax_captcha.php만 새로 올려주신 파일로 해봤는데 제대로 작동하네요.
혹시 Site Key 를 입력하지 않으신 것은 아니신지요?
사이트키를 입력하지않거나 허용된 도메인이 아니면, 구글캡챠 자체가 나오지 않습니다.
사이트키를 입력하지않거나 허용된 도메인이 아니면, 구글캡챠 자체가 나오지 않습니다.
아... 제가 멍청한 짓을 했었네요.
그부분 잠시 까먹고 있었네요.
죄송합니다...^^
다시해보니 잘됩니다.
그부분 잠시 까먹고 있었네요.
죄송합니다...^^
다시해보니 잘됩니다.