그누보드 5.3 이상 자동등록방지 캡차 제거 및 특정 게시판 예외 처리 방법
페이지 정보

본문
그누보드 5.3 버전 이상의 게시판, 댓글, 회원가입, 쪽지 기능에서 자동등록방지(캡차) 기능을 완전히 제거하거나 특정 게시판만 예외로 처리하여 사용자 편의성을 높이는 방법을 안내합니다.
그누보드 5.3 이상 게시판 글쓰기 캡차 제거 방법
그누보드 5.3 버전 이상의 게시판 글쓰기 화면과 서버 처리 과정에서 자동등록방지(CAPTCHA) 기능을 제거하려면 스킨 파일과 서버 처리 파일을 함께 수정해야 합니다.
1. 스킨 파일 수정
- 파일 경로:
skin/board/스킨명/write.skin.php - 작업 내용: 해당 파일에서 캡차 HTML 출력 코드와 하단 스크립트에 있는 캡차 검사 코드를 삭제합니다.
HTML 출력부 삭제 예시:
<?php if ($is_use_captcha) { //자동등록방지?>
<div class="write_div">
<?php echo $captcha_html?>
</div>
<?php }
하단 스크립트 삭제 예시:
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함?>
2. 서버 처리 파일 수정
- 파일 경로:
bbs/write_update.php - 작업 내용:
chk_captcha()검증 로직을 삭제합니다. 특정 게시판에만 적용하거나 제외하려면 조건문을 추가할 수 있습니다.
기본 삭제 코드:
if ($is_use_captcha &&!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
특정 게시판(예: free) 예외 처리 또는 특정 게시판만 적용 시 조건문 활용 예시:
특정 게시판(free)만 제외하고 싶다면 다음과 같이 조건을 추가할 수 있으며, 여러 개인 경우 in_array 함수를 활용해 콤마로 구분하여 추가할 수 있습니다.
if ($bo_table!= 'free') {
if ($is_use_captcha &&!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
}
그누보드 5.3 이상 특정 게시판 캡차 예외 처리 방법
그누보드 5.3 버전 이상에서 특정 게시판에만 캡차(자동등록방지) 기능을 유지하거나 반대로 특정 게시판만 예외 처리하려면 서버 처리 파일(bbs/write_update.php 등)의 검증 조건문에 $bo_table 변수를 활용한 조건문을 추가해야 합니다.
1. 특정 게시판 1개만 예외 처리하기
예를 들어 free 게시판에서만 캡차 검증을 제외하고 싶다면, bbs/write_update.php 파일 내 캡차 검증 코드(if ($is_use_captcha &&!chk_captcha()))를 다음과 같이 수정합니다.
if ($bo_table!= 'free') {
if ($is_use_captcha &&!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
}
2. 여러 게시판을 지정하여 예외 처리하기
적용해야 할 게시판이 여러 개라면 in_array() 함수를 사용하여 콤마로 구분해 계속 추가할 수 있습니다. 예를 들어 free와 notice 게시판을 캡차 검증에서 제외하려면 다음과 같이 변경합니다.
if (!in_array($bo_table, array('free','notice'))) {
if ($is_use_captcha &&!chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
}
댓글 작성 시 특정 게시판만 예외 처리할 때도 bbs/write_comment_update.php 파일에서 동일한 방식으로 $bo_table 조건을 적용할 수 있습니다.
그누보드 5.3 이상 게시판 댓글 캡차 제거 및 모바일 UI 겹침 해결 방법
그누보드 5.3 버전 이상의 게시판 댓글(코멘트) 영역에서 자동등록방지(CAPTCHA) 기능을 제거하고, 이로 인해 모바일 스킨에서 발생할 수 있는 비밀글 체크박스 겹침 현상을 해결하는 방법입니다.
1. 댓글 스킨 파일 및 처리 파일 수정
1-1. 스킨 파일 (view_comment.skin.php) 수정
- 파일 경로:
skin/board/스킨명/view_comment.skin.php - 상단 PHP 영역에서 비회원(
$is_guest) 조건에 따라 출력되는 캡차 HTML 코드를 삭제합니다.
<?php if ($is_guest) {?>
<?php echo $captcha_html;?>
<?php }?>
- 같은 파일 하단 스크립트 영역에서 아래 코드를 삭제합니다.
<?php if($is_guest) echo chk_captcha_js();?>
1-2. 서버 처리 파일 (write_comment_update.php) 수정
- 파일 경로:
bbs/write_comment_update.php - 캡차 검증 로직을 주석 처리하거나 삭제합니다.
if(!chk_captcha()) alert('자동등록방지 숫자가 틀렸습니다.');
- 특정 게시판 예외 처리 조건: 만약 특정 게시판(예:
free)에만 캡차 검증을 제외하고 싶다면 아래와 같이 조건문을 추가합니다.
if ($bo_table!= 'free') {
if(!chk_captcha()) alert('자동등록방지 숫자가 틀렸습니다.');
}
- 여러 게시판을 예외 처리하려면
in_array함수를 활용할 수 있습니다.
if (!in_array($bo_table, array('free','notice'))) {
if(!chk_captcha()) alert('자동등록방지 숫자가 틀렸습니다.');
}
2. 모바일 스킨 비밀글 체크박스 겹침 현상 해결
모바일 스킨 환경에서는 캡차 코드를 삭제하면 비밀글 체크박스가 겹치는 UI 문제가 발생할 수 있습니다. (PC 스킨에는 영향이 없고 모바일 스킨에서만 관찰될 수 있습니다.)
- 수정 위치:
skin/board/스킨명/view_comment.skin.php - 수정 내용: 비밀글 체크박스를 감싸는 태그의 CSS 속성을 변경합니다.
- 변경 전:
<span class="bo_vc_secret chk_box"> - 변경 후 (
style="clear:both"추가):<span class="bo_vc_secret chk_box" style="clear:both">
그누보드 회원가입 및 쪽지 보내기 캡차 제거 방법
그누보드 5.3 이상 환경에서 회원가입 및 쪽지 보내기 화면과 서버 처리 과정에서 자동등록방지 캡차 기능을 제거하려면 각각의 스킨 파일과 서버 처리(update) 파일을 수정해야 합니다.
1. 회원 가입 캡차 제거
- 스킨 파일 수정
- 파일 경로:
skin/member/basic/register_form.skin.php - 수정 내용: 아래 HTML 코드와 하단 스크립트 코드를 삭제합니다.
하단 스크립트에서 삭제:<li class="is_captcha_use"> 자동등록방지 <?php echo captcha_html();?> </li><?php echo chk_captcha_js();?> - 파일 경로:
- 서버 처리 파일 수정
- 파일 경로:
bbs/register_form_update.php - 수정 내용: 아래 캡차 검증 코드를 삭제합니다.
if (!chk_captcha()) { alert('자동등록방지 숫자가 틀렸습니다.'); } - 파일 경로:
2. 쪽지 보내기 캡차 제거
- 스킨 파일 수정
- 파일 경로:
skin/member/basic/memo_form.skin.php - 수정 내용: 아래 HTML 코드와 하단 스크립트 코드를 삭제합니다.
하단 스크립트에서 삭제:<li> <span class="sound_only">자동등록방지</span> <?php echo captcha_html();?> </li><?php echo chk_captcha_js();?> - 파일 경로:
- 서버 처리 파일 수정
- 파일 경로:
bbs/memo_form_update.php - 수정 내용: 아래 캡차 검증 코드를 삭제합니다.
if (!chk_captcha()) { alert('자동등록방지 숫자가 틀렸습니다.'); } - 파일 경로:
그누보드 캡차 기능 제거 및 특정 게시판 예외 처리 가이드
내 상황
그누보드 5.3 이상 버전에서 게시판 글쓰기, 댓글, 회원가입, 쪽지 등 기능 이용 시 불필요한 자동등록방지(CAPTCHA) 캡차 입력 과정을 완전히 삭제하거나, 특정 게시판만 예외적으로 처리하고자 하는 운영자 및 개발자.
선택 기준
- 전체 제거: 모든 사용자(또는 비회원)에게 캡차 입력을 받지 않으려면 해당 스킨 파일의 HTML/JS 출력부와 서버 업데이트 처리 파일(
bbs/*_update.php)의 검증 로직을 모두 삭제합니다. - 특정 게시판 예외 처리: 특정 게시판(예:
free)만 캡차를 제외하거나 유지하려면 서버 처리 파일 내 검증 조건문 외곽에$bo_table조건문을 추가합니다.
다음 행동
- 스킨 수정: 대상 스킨 파일(
write.skin.php,view_comment.skin.php,register_form.skin.php,memo_form.skin.php)에서 캡차 관련 코드 및 스크립트를 삭제합니다. - 서버 로직 수정: 대응되는 서버 업데이트 파일(
write_update.php,write_comment_update.php,register_form_update.php,memo_form_update.php)에서chk_captcha()검증 로직을 삭제하거나$bo_table조건문으로 우회 처리합니다. - UI 보정: 모바일 스킨 댓글 영역에서 캡차 삭제 후 비밀글 체크박스 겹침 현상이 발생하면
view_comment.skin.php의 해당 태그에style="clear:both"를 추가하여 UI를 정돈합니다.
실전 FAQ
Q. 코드를 삭제했는데도 "자동등록방지 숫자가 틀렸습니다" 에러가 발생합니다.
- 원인: 스킨 파일이나 업데이트 처리 파일에서 누락된 코드가 있거나, 캐시 문제로 이전 코드가 동작할 수 있습니다.
- 대안: 수정 중인 스킨이 실제 게시판에 적용된 스킨명과 일치하는지(
skin/board/실제스킨명/) 확인하고, 서버 처리 파일(bbs/write_update.php등) 내chk_captcha()검증문이 완전히 제거되었는지 재확인하세요.
Q. 여러 개의 특정 게시판만 캡차 검증에서 제외하려면 어떻게 하나요?
- 대안: 단일 게시판 제외 시
if ($bo_table!= '게시판아이디')를 사용하고, 여러 게시판은in_array()함수를 활용합니다. - 예시 코드:
if (!in_array($bo_table, array('free', 'notice'))) {... }형태로 서버 업데이트 파일의 캡차 검증 조건문 외곽을 감싸주면 지정한 게시판들만 캡차 검증을 우회합니다.
함께 보면 좋은 글
- 그누보드 특정 게시판 단어 필터링 예외 처리 방법과 보안 주의사항
- PHP 5.3 이상 환경에서 MSSQL 연동 드라이버 변경 및 설정 방법
- 그누보드4 게시판 자동등록방지 기능 제거 방법
참고자료
기타 참고자료
- 이전글그누보드 네이버 소셜 로그인 가입 시 닉네임 대신 이메일 아이디가 들어가는 원인과 해결 방법 26.10.02
- 다음글그누보드 4 게시판 작성자 IP 주소 마스킹 처리 방법 26.10.02
댓글목록
등록된 댓글이 없습니다.