그누보드 캡차 가독성 개선 및 회원 적용 방법
페이지 정보

본문
그누보드 캡차 이미지의 노이즈와 웨이브 효과를 제거하여 선명하게 만들고, 버전별 회원 대상 캡차 적용 방법을 확인하여 스팸 방지 설정을 조정할 수 있습니다.
캡차 노이즈 및 웨이브 효과 제거 방법
그누보드 캡차 이미지의 노이즈와 웨이브 효과를 제거하여 선명하게 출력하려면 plugin/kcaptcha/kcaptcha_config.php 파일을 수정해야 합니다. 이 설정은 캡차의 가독성을 높이지만, 스팸 봇의 인식률을 높일 수 있으므로 운영 환경에 따라 신중히 적용해야 합니다.
사전 백업
파일을 수정하기 전에 원본 파일을 반드시 백업하여 문제 발생 시 복구할 수 있도록 준비합니다.
설정 값 변경
plugin/kcaptcha/kcaptcha_config.php 파일을 열어 아래와 같이 값을 변경합니다.
$white_noise_density=0/6;
$black_noise_density=0/20;
$wave = false;
$fluctuation_amplitude = 0;
적용 후 확인
수정 완료 후 글쓰기 페이지에 접속하여 캡차 노이즈가 제거되었는지 확인합니다.
그누보드 5.2 버전 회원 캡차 적용 파일 및 수정 방법
그누보드 5.2 버전에서 관리자를 제외한 회원에게 캡차를 적용하려면 !$is_admin 조건을 기준으로 스킨 및 코어 파일을 수정해야 합니다. 이 방법은 그누보드 5.2 버전을 기준으로 하며, 5.3 이상 버전은 기본 설정에서 회원 캡차를 지원하므로 별도의 코드 수정이 필요하지 않습니다. 파일을 수정하기 전에 원본 파일을 반드시 백업하여 문제 발생 시 복구할 수 있도록 준비합니다.
수정 대상 파일
- 스킨 파일:
write.skin.php - 코어 파일:
bbs/write.php - 코어 파일:
bbs/write_update.php
파일별 수정 예시
1. 스킨 파일 (write.skin.php) 수정 예시
<?php if (!$is_admin) { //자동등록방지 ?>
<tr>
<th scope="row">자동등록방지</th>
<td>
<?php echo $captcha_html ?>
</td>
</tr>
<?php } ?>
2. bbs/write.php 파일 수정
if (!$is_admin) {
$captcha_html = captcha_html();
$captcha_js = chk_captcha_js();
}
3. bbs/write_update.php 파일 수정
if (!$is_admin && !chk_captcha()) {
alert('자동등록방지 숫자가 틀렸습니다.');
}
적용 후 확인 방법
수정 완료 후 글쓰기 페이지에 접속하여 회원 계정으로 글 작성 시 캡차가 정상 노출되는지 확인합니다.
캡차 노이즈 및 왜곡 효과 제거 시 유의 사항
그누보드 캡차 이미지의 노이즈와 웨이브 효과를 모두 제거할 경우, 스팸 봇이 숫자를 쉽게 인식할 수 있게 되어 사이트의 스팸 차단율에 영향을 줄 수 있습니다.
| 내 상황 | 선택 기준 | 다음 행동 |
|---|---|---|
| 캡차 식별이 어려운 경우 | 가독성 개선 필요 | plugin/kcaptcha/kcaptcha_config.php 백업 후 노이즈·웨이브 설정값 변경 |
| 5.2 버전 회원 캡차 적용 | 관리자 제외 기능 구현 | write.skin.php, bbs/write.php, bbs/write_update.php에 !$is_admin 조건 추가 |
| 수정 후 오류 발생 | 원본 복구 필요 | 백업해 둔 원본 파일로 덮어쓰기 |
Q. 스팸 차단율이 걱정된다면?
- 대안: 노이즈를 완전히 제거하기보다 가독성을 해치지 않는 선에서
kcaptcha_config.php의 밀도 값을 조금씩 조정하며 스팸 유입량을 모니터링하십시오.
Q. 5.3 이상 버전에서도 코드 수정이 필요한가요?
- 예외: 그누보드 5.3 이상은 기본 기능으로 회원 캡차 설정을 지원하므로, 본문의 5.2 버전용 코드 수정은 필요하지 않습니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드에서 소셜 로그인 상태를 확인하고 분기 처리하는 방법 26.09.12
댓글목록
등록된 댓글이 없습니다.