포럼
reCaptcha 애드온 [v0.2 업데이트]
2013.06.01 21:24
XE 기본 captcha 애드온이 쉽게 뚫린다는 말이 있어서 정말로 깨기 힘든 구글의 reCaptcha를 애드온으로 만들어 봤어요~
라이센스: LGPL v2
원작: XE 기본 captcha 애드온 (NHN)
-주의사항-
- 1.4만 지원하며 1.5와 1.7은 미지원
- 구글에서 키를 발급받아 애드온 설정에 입력 후 사용가능
- 기존 captcha 애드온은 비활성화하세요.
-키 발급 방법-
http://www.google.com/recaptcha
댓글 23
-
Gunmania
2013.06.01 22:50
-
CMD
2013.06.01 23:01
./lib/recaptchalib.php 파일의 isCaptchaRequired() 함수를 수정해 주시면 되어요~
function isCaptchaRequired() { $logged_info = Context::get('logged_info'); // 특정 그룹은 리턴 if($logged_info->group_list[2]) return; // 최고 관리자는 리턴 if($logged_info->is_admin == 'Y') return; // 한번만 검사하도록 했을 경우 if($this->addon_info->act_type == 'onetime' && $_SESSION['__RECAPTCHA__']['is_certified']) return; // 로그인한 상태이고 비회원에게만 적용하도록 설정되어있으면 거짓을 반환 if(!$this->addon_info->target && $logged_info->member_srl) return; switch(Context::get('act')) { case 'procBoardInsertDocument' : $oDocumentModel = &getModel('document'); $oDocument = $oDocumentModel->getDocument(Context::get('document_srl')); if(!$oDocument->isExists()) return true; return false; case 'procBoardInsertComment' : $oCommentModel = &getModel('comment'); $oComment = $oCommentModel->getComment(Context::get('comment_srl')); if(!$oComment->isExists()) return true; return false; default : if(in_array(Context::get('act'), $this->target_acts)) return true; return false; } return true; }
-
Canto
2013.06.01 23:15
구글 recaptch 는 뚫기 힘든건 좋은데.. 중요한건 일반인도 짜증나요.. ㅋㅋㅋ
가끔 보면 진짜 알아보기 힘든 글자들도 나오는 ㅠㅠ
-
CMD
2013.06.01 23:17
맞아요. 가끔씩 완전히 뭉개져서 도저히 알아볼 수 없는 문자들이 나오니 refresh를 기본 2~3번 정도해야 통과가 가능하죠...
-
또별
2013.06.02 16:09
구글 캡차글자 출력 정말 짜증나게 함다..노인네들은 하루종일 밤샘해도 안될걸요. 그거이 개선하면 좋겠어요.
-
CMD
2013.06.02 16:32
reCaptcha 생성 원리를 설명해 드리자면 책을 OCR 판독기로 읽어서 전자책으로 변환할 때 판독 실패한 단어들을 사용자에게 입력하도록 하는 방식이라 사람조차 인식하지 못하는 단어가 많지요~
-
Gunmania
2013.06.03 12:59
어라 0.2버전부터 '1.4만 지원하며 1.5와 1.7은 미지원' 인가요?
-
CMD
2013.06.03 19:19
초기 버전부터 1.5와 1.7은 미지원이었어요~
-
크르릉33
2013.06.03 13:45
하앜하앜
빨리 1.7도 지원해주세요~ 현기증 난단 말이에요 +_+
-
CMD
2013.06.03 19:21
1.5와 1.7도 룰셋이 아닌 filter를 사용한다면 가능할 것 같네요. 1.5 이상에서 사용하실 땐 비밀번호 찾기, 인증 메일 재발송, 회원 가입에는 captcha를 적용하지 마시고 애드온을 켜보세요~
-
Gunmania
2013.07.10 14:56
1.7.3.4에서 키 두개 발급받아서 넣고 비밀번호 찾기/인증메일/가입에 전부 끄고 켰는데 캡챠가 떠야될 상황에서 '캡챠 오류: incorrect-captcha-sol '이 출력되네요. 음
-
CMD
2013.07.10 19:11
확인해 보니 비밀번호 찾기는 filter을 사용하므로 잘 되고 나머지는 filter을 사용하지 않아서 그렇네요. filter를 사용하도록 스킨을 수정하시거나 rulset만 적용된 act는 제외하셔야 할 것 같아요~
-
Gunmania
2013.07.10 23:31
음 전부 다 사용 안함으로 해뒀었는데도 그러네요. 제가 뭔가 다른 설정을 잘못했거나 아니면 아예 1.7하고 안맞는게 아닌가 싶습니다
-
CMD
2013.07.11 06:06
게시판에서도 그러나요?
-
Gunmania
2013.07.11 07:20
음 다시 해보니 board 모듈에서는 동작합니다. 몇가지 필요한게 있어서 게시판 DX를 쓰고 있는데 DX와 호환 문제였네요. 어떻게 해결해야할지
-
CMD
2013.07.11 13:52
DX의 경우 룰셋만 사용해서 그래요. filter를 사용하도록 스킨을 수정하시면 잘 작동할 것 같네요~
-
Gunmania
2013.07.12 23:38
+ PHP 5.4 환경의 경우 캡챠가 뜨지 않고 그냥 통과되는듯 합니다.
-
CMD
2013.07.13 05:39
음... 5.2.17에서만 테스트해서 5.4에서는 오류가 발생한다는 것을 몰랐네요.
그냥 통과 된다는건 글이 잘 써진다는 말씀이시지요?
-
Gunmania
2013.07.13 07:55
넵 입력창 없이 바로 글/댓글이 작성됩니다.
-
고코루리
2014.10.14 02:47
XE 최신코어(1.7.7.2)에서도 PC나 Mobile 환경에서 문제없이 작동하네요:)
좋은 애드온 배포해주셔서 감사합니다.
사실 이 영상을 보고 reCAPTCHA를 적용해야지~ 라는 생각에 이전에 글을 본 것 같아 검색해봤는데 제 기억이 틀리지 않았군요 :)
-
죽방망이
2014.10.19 22:11
다른 애드온을 꺼야 되는게 있나요? 저도 1.7.7.2 라 ..
저도 영상보고 ㅎㅎㅎ 코딩에 감동.ㅠㅠ
-
고코루리
2014.10.20 00:53
일단 기존의 캡챠 애드온은 끄셔야 하구요
아마 약간의 수정이 필요합니다.
전 그냥 일단 수정부터 하고 해서리...
-
죽방망이
2014.10.20 04:28
아 수정한거 혹시 부탁드려도 될까요? 꼭 홈페이지에 달아놓고 싶어서~^^ 조심스레 부탁드려봅니다~^^;
오 좋은 자료네요. 기존 캡챠의 경우 파일 열고 윗부분에 if(Context::get('logged_info')->group_list[2]) return; 이런식으로 추가해서 특정 그룹에선 동작하지 않게 설정이 가능했는데 어느 줄에 넣어주면 될까요? 똑같이 초기 주석 부분 바로 다음에 넣어주면 되려나요