그누보드 게시판 단어 필터링 관리자 예외 처리 방법
페이지 정보

본문
그누보드5 게시판에서 관리자가 글을 작성할 때 단어 필터링(금지어) 제한에 걸리지 않도록 스킨 코드를 수정하여 예외 처리하는 방법을 안내합니다.
그누보드 게시판 단어 필터링 관리자 예외 처리 방법
그누보드 환경설정의 단어 필터링 기능은 게시판 작성 시 욕설이나 스팸성 단어 입력을 제한합니다. 관리자가 글을 작성할 때도 이 필터링 적용을 받지 않도록 하려면, 게시판 스킨 파일의 AJAX 필터링 호출 코드를 관리자 권한 조건문(!$is_admin)으로 감싸 예외 처리를 적용할 수 있습니다.
1. 수정 파일 위치 확인
수정해야 할 파일은 사용하는 게시판 스킨 폴더 내의 write.skin.php입니다.
2. 코드 수정 방법
write.skin.php 파일 하단의 스크립트 영역에서 ajax.filter.php를 호출하여 단어 필터링을 체크하는 부분을 찾습니다. 해당 AJAX 요청 코드를 아래와 같이 <?php if(!$is_admin) {?> 조건문으로 감싸줍니다.
<?php if(!$is_admin) {?>
$.ajax({
url: g5_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
<?php }?>
이와 같이 처리하면 관리자 계정($is_admin)으로 접속하여 글을 작성할 때는 단어 필터링 AJAX 요청이 실행되지 않아 금지어 제한 없이 게시물을 등록할 수 있습니다.
게시판 스킨 파일의 write.skin.php 위치와 ajax.filter.php 호출부 수정 방법
단어 필터링 예외 처리를 적용하기 위해 수정해야 할 파일의 정확한 경로와 위치는 다음과 같습니다.
수정 대상 파일 경로
- 경로:
skin/board/사용중인게시판스킨/write.skin.php
수정 위치 및 코드
파일 하단의 스크립트 영역에서 ajax.filter.php를 호출하는 $.ajax 부분을 찾아 <?php if(!$is_admin) {?> 조건문으로 감싸줍니다.
<?php if(!$is_admin) {?>
$.ajax({
url: g5_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
<?php }?>
그누보드 게시판 단어 필터링 관리자 예외 처리 방법
그누보드5의 게시판 단어 필터링 기능은 글 작성 시 욕설이나 스팸성 단어를 제한하지만, 관리자가 작성하는 글에도 동일하게 적용되어 불편을 줄 수 있습니다. 이를 해결하기 위해 관리자 계정에서는 필터링 로직이 동작하지 않도록 예외 처리를 적용할 수 있습니다.
1. 수정 파일 위치
- 파일 경로: 게시판 스킨 폴더 내의
write.skin.php
2. 코드 수정 방법
write.skin.php 파일 하단의 스크립트 영역에서 AJAX를 통해 단어 필터링을 호출하는 부분을 찾습니다. 해당 코드를 !$is_admin 조건문으로 감싸면 관리자 권한일 때는 필터링 체크 코드가 실행되지 않습니다.
<?php if(!$is_admin) {?>
$.ajax({
url: g5_bbs_url+"/ajax.filter.php",
type: "POST",
data: { "subject": f.wr_subject.value, "content": f.wr_content.value },
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
<?php }?>
그누보드 단어 필터링 관리자 예외 처리
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 관리자 계정으로 글 작성 시 단어 필터링에 걸려 등록이 제한되는 경우 | 게시판 스킨 파일 내 AJAX 필터링 호출부에 관리자 권한 조건문 추가 | write.skin.php 파일 하단의 ajax.filter.php 호출 코드를 <?php if(!$is_admin) {?> 조건문으로 감싸기 |
실전 FAQ
Q. 코드를 수정했는데도 관리자 글 작성 시 여전히 단어 필터링 안내창이 뜹니다. 왜 그럴까요?
- 답변: 수정 중인 게시판 스킨이 실제로 적용된 스킨인지 확인해 보세요. 또한 브라우저 캐시로 인해 이전 스크립트가 로드될 수 있으므로 브라우저 캐시를 비우거나 강력 새로고침(Ctrl + F5) 후 다시 시도해야 합니다.
Q. 특정 게시판에만 관리자 예외 처리를 다르게 적용하고 싶다면 어떻게 하나요?
- 답변:
$is_admin조건 외에 특정 게시판 아이디 조건을 함께 결합하여 처리할 수 있습니다. 예를 들어$bo_table == 'free'등의 조건을 추가하여 원하는 게시판 스킨에서만 개별 제어가 가능합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 메인 페이지(index.php)에 특정 게시판을 직접 출력하고 경로 문제 해결하기 26.09.24
- 다음글그누보드에서 새 창으로 쪽지 보내기 링크를 만들고 수신자 아이디를 자동 지정하는 방법 26.09.24
댓글목록
등록된 댓글이 없습니다.