t2CAPTCHA (자체 호스팅 무료 CAPTCHA) 캡챠 > 코딩 스토리

t2CAPTCHA (자체 호스팅 무료 CAPTCHA) 캡챠

본문



6891530171756321182770_0.webp



t2CAPTCHA

t2CAPTCHA는 그누보드5(Gnuboard5)를 위해 설계된 자체 호스팅 CAPTCHA 솔루션입니다. reCAPTCHA의 대안으로 개발되었으며, 복잡한 이미지 퍼즐 대신 간단한 텍스트 기반 문제를 통해 사용자 편의성을 높이면서도 효과적인 보안을 제공합니다. 외부 서비스에 의존하지 않는 완전한 자체 호스팅 솔루션입니다.


작동 화면:

9157867431756321258079_0.webp


9157867431756321258079_1.webp


9157867431756321258079_2.webp



특징 및 기능

직관적인 사용자 인터페이스 - 누구나 쉽게 사용할 수 있도록 설계된 UI 제공

모바일 환경 최적화 및 높은 호환성 - 안드로이드, iOS를 비롯한 다양한 기기에서 원활한 사용 가능

다국어 지원 - 브라우저 언어 설정을 자동 감지하여 한국어, 영어, 일본어로 문제 제공

허니팟 기술 - CSS로 숨겨진 입력 필드를 통해 자동화 프로그램의 접근을 감지

단계별 난이도 조절 - 틀린 답변 횟수에 따라 문제 난이도가 자동으로 증가
- 1단계: 기본 덧셈 (3+5=?)
- 2단계: 상식 문제 (한국의 수도는?)
- 3단계: 곱셈 (7×9=?)
- 4단계: 나눗셈 (84÷12=?)
- 5단계: 패턴 인식 문제

응답 시간 분석 - 과도하게 빠르거나 늦은 응답을 감지하여 자동화 프로그램 차단

토큰 기반 검증 - 문제 생성, 답안 검증, 최종 승인의 3단계 토큰 시스템으로 보안 강화

IP 기반 모니터링 - IP 주소별 시도 횟수를 추적하여 의심스러운 패턴 감지

사용자 행동 분석 - 마우스 움직임, 입력 패턴, 브라우저 헤더 정보 등 비정상적 행동 모니터링

문제 새로고침 지원 - 사용자가 어려운 문제를 새로 받을 수 있는 기능

인증 시 재인증 방지 - 세션 유지를 통한 사용자 편의성 향상


라이선스

t2CAPTCHA는 그누보드5와 웹 보안의 발전을 위하여 코드를 공개합니다.

아래의 사항만 지킨다면 누구나 자유롭게 배포할 수 있습니다.

1. 개인(또는 사업자 자체) 사용을 위한 코드 수정 허용
2. 자체 웹사이트 사용을 위한 수정 허용
3. 수정 버전의 배포/공개 시 무료 오픈소스로 배포 필수
4. 원본 및 수정버전의 상업적 유료 배포 불가



다운로드


t2CAPTCHA(https://dsclub.kr/service/captcha)


설치방법

그누보드5 환경

1. /plugin/ 디렉토리에 첨부파일의 압축을 풀어 t2captcha 폴더를 업로드 합니다.


2. 관리자 페이지 - 환경설정 > 기본환경설정으로 이동, 캡챠 선택 항목에서 t2CAPTCHA를 선택합니다.


3. config_form.php에서 다음과 같이 수정합니다:


1) 도움말 설명 추가

<?php echo help('사용할 캡챠를 선택합니다.<br>
1) Kcaptcha 는 그누보드5의 기본캡챠입니다. ( 문자입력 )<br>
2) reCAPTCHA V2 는 구글에서 서비스하는 원클릭 형식의 간편한 캡챠입니다. ( 모바일 친화적 UI )<br>
3) Invisible reCAPTCHA 는 구글에서 서비스하는 안보이는 형식의 캡챠입니다. ( 간혹 퀴즈를 풀어야 합니다. )<br>
4) t2CAPTCHA 는 로컬에서 동작하는 자체 캡챠입니다.'); ?>


2) 옵션 항목 추가

<option value="t2captcha" <?php echo get_selected($config['cf_captcha'], 't2captcha'); ?>>t2CAPTCHA</option>


다른 플랫폼 환경

아래의 사항들을 고려하여 직접 일부를 구현해야 합니다.

t2CAPTCHA 기본 파일 구조:

t2captcha/
├── t2captcha.html
├── t2captcha-api.php
├── t2captcha.class.php
└── css/
└── t2captcha.css


검증 시스템 설정

t2captcha.class.php의 검증 로직을 환경에 맞게 적절히 수정해야 합니다.

예제:

<!-- HTML 폼에 CAPTCHA 추가 -->
​
<form method="POST" action="your-handler.php">
<!-- 기존 폼 필드들 -->
​
<!-- t2CAPTCHA 추가 -->
​
<div id="captcha-container"></div>
​
<button type="submit">전송</button>
​
</form>
​
<script src="t2captcha.js"></script>
​
<script>
// CAPTCHA 초기화
const captcha = new T2Captcha('captcha-container');
</script>
​
<?php
// PHP 검증 코드
require_once 't2captcha.class.php';
​
$responseToken = $_POST['t2captcha-response'] ?? '';
​
if (empty($responseToken)) {
die('CAPTCHA를 완료해주세요');
}
​
$captcha = new T2Captcha();
if (!$captcha->verifySuccessToken($responseToken)) {
die('CAPTCHA 검증에 실패했습니다');
}
​
// CAPTCHA 통과, 폼 처리 진행
echo '폼이 성공적으로 전송되었습니다!';
?>



필수 환경

PHP 7.0 이상

*이 게시물은 T2Editor로 작성되었습니다.​​​​​​​​​​​​​​​​


#t2CAPTCHA #CAPTCHA #캡챠 #그누보드5 #플러그인

좋아요8 이 글을 좋아요하셨습니다
url 복사 카카오톡 공유 라인 공유 페이스북 공유 트위터 공유

카테고리 분류 학습 시스템 (총 0개 학습됨)

예측 카테고리: 인문-철학 (랜덤 - 학습 데이터 없음)

이 분류가 맞나요? 학습시켜주세요!

등록된 댓글이 없습니다.

  • RSS
  • _  글쓰기 글쓰기
전체 302건
게시물 검색

접속자집계

오늘
1,732
어제
3,897
최대
42,418
전체
939,960