그누보드 작성자 IP 주소 마스킹 및 표시 설정 방법
페이지 정보

본문
그누보드 작성자 IP 주소 마스킹 및 표시 설정 방법
그누보드 5 게시판과 댓글 목록에서 작성자 IP 주소의 일부를 별표 등 원하는 문자로 마스킹 처리하는 설정 파일 경로와 수정 방법을 알아봅니다.
그누보드 작성자 IP 주소 마스킹 및 표시 설정 방법
그누보드에서 게시판 글보기 및 댓글 목록에 출력되는 작성자 IP 주소의 마스킹 형식과 문자를 변경하려면 /config.php 파일을 수정해야 합니다.
1. 설정 파일 수정 위치
/config.php 파일 내에 정의된 G5_IP_DISPLAY 상수를 변경하여 IP 숨김 형태와 문자를 조정할 수 있습니다.
define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');
\\1,\\2,\\3,\\4는 각각 IPv4 주소의 첫 번째, 두 번째, 세 번째, 네 번째 옥텟에 대응됩니다.- 표시할 부분은 번호 그대로 두고, 숨길 부분은
♡나*등 원하는 문자로 지정할 수 있습니다.
2. 설정 예시
- 기본 설정 (세 번째 옥텟을 하트 기호로 숨김):
define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');(예:123.♡.789.012) - 별표 문자로 변경:
define('G5_IP_DISPLAY', '\\1.*.\\3.\\4'); - 별표를 3개 연속으로 표시:
define('G5_IP_DISPLAY', '\\1.***.\\3.\\4'); - 아이피 마지막 부분을 별표로 변경:
define('G5_IP_DISPLAY', '\\1.\\2.\\3.*'); - 여러 부분 동시 변경 (마지막 두 부분 숨김):
define('G5_IP_DISPLAY', '\\1.\\2.*.*');
3. 참고 사항 및 확인 방법
- 동작 방식: 게시판 글보기(
bbs/board.php)와 댓글 목록(bbs/view_comment.php) 파일에서preg_replace함수를 통해 일반 회원 및 비로그인 사용자에게 해당 마스킹 규칙이 적용됩니다. - 관리자 화면: 관리자로 로그인한 상태에서는 마스킹이 적용되지 않고 원래 IP가 그대로 출력됩니다. 따라서 설정을 변경한 뒤 올바르게 마스킹이 적용되었는지 확인하려면 로그아웃하거나 일반 회원 계정으로 로그인하여 게시판을 확인해야 합니다.
관리자 화면에서 IP가 마스킹되지 않는 이유
그누보드 기본 로직상 관리자로 로그인한 상태에서는 IP 주소가 마스킹되지 않고 원래 IP 그대로 출력되도록 설계되어 있습니다.
확인 및 테스트 방법
- 관리자 계정으로 로그인한 상태가 아니라 로그아웃하거나 일반 회원 계정으로 로그인한 후 게시판 글보기 및 댓글 목록을 확인해야 마스킹이 정상적으로 적용된 모습을 볼 수 있습니다.
- 관련 파일인
bbs/board.php및bbs/view_comment.php내부 코드에서도 관리자가 아닐 때만preg_replace함수를 통해G5_IP_DISPLAY설정에 따른 IP 숨김 처리가 동작하도록 구현되어 있습니다.
게시판 및 댓글 목록 IP 마스킹 처리 코드
그누보드에서 게시판 글보기 및 댓글 목록의 IP 마스킹은 preg_replace 함수를 사용하여 /config.php에 정의된 G5_IP_DISPLAY 규칙을 적용하는 방식으로 처리됩니다.
주요 처리 파일 및 코드
- 게시판 글보기 (
bbs/board.php)- 관리자가 아닌 경우, 작성자의 IP(
$write['wr_ip'])를 대상으로 정규식 치환을 수행합니다. - 코드 예시:
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $write['wr_ip']); - 관리자가 아닌 경우, 작성자의 IP(
- 댓글 목록 (
bbs/view_comment.php)- 관리자가 아닌 경우, 댓글 작성자의 IP(
$row['wr_ip'])를 대상으로 동일한 정규식 치환을 수행합니다. - 코드 예시:
$list[$i]['ip'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['wr_ip']); - 관리자가 아닌 경우, 댓글 작성자의 IP(
작동 원리
preg_replace함수는 IP 주소의 4개 옥텟을 각각([0-9]+)패턴으로 인식합니다.- 이 패턴은
G5_IP_DISPLAY상수에 설정된 형식(예:\1.♡.\\3.\\4)에 따라 치환됩니다. \1,\2,\3,\4는 각각 IP 주소의 첫 번째부터 네 번째 자리를 의미하며, 이 자리에 원하는 마스킹 문자(별표 등)를 조합하여 출력합니다.
상황별 판단 및 행동 가이드
| 내 상황 | 선택 기준 | 다음 행동 |
|---|---|---|
| IP 마스킹 형식(문자·범위) 변경 | /config.php 내 G5_IP_DISPLAY 상수 수정 | define('G5_IP_DISPLAY', '\1.*.\3.\4');와 같이 원하는 마스킹 규칙으로 수정 |
| 마스킹 적용 여부 확인 | 관리자 로그인 여부 | 로그아웃 또는 일반 회원 계정으로 로그인 후 게시판 글보기·댓글 목록 확인 |
| 특정 옥텟 마스킹 처리 | \1~\4 옥텟 대응 위치 확인 | 숨길 위치에 * 등 원하는 문자를 지정하여 설정값 변경 |
실전 FAQ
Q. 관리자 화면에서도 IP가 숨겨지나요?
- 예외: 그누보드 기본 로직상 관리자로 로그인한 상태에서는 IP가 마스킹되지 않고 전체가 노출됩니다. 이는 시스템 설계에 따른 동작이므로 오류가 아닙니다.
- 대안: 마스킹 적용 여부를 테스트하려면 반드시 로그아웃하거나 일반 회원 계정으로 접속하여 확인하십시오.
Q. 특정 게시판만 마스킹을 다르게 적용할 수 있나요?
- 제한:
/config.php의G5_IP_DISPLAY설정은 사이트 전체에 적용됩니다. 특정 게시판에만 다른 규칙을 적용하려면bbs/board.php등의 소스 코드를 직접 수정하여 조건문을 추가해야 하므로, 전역 설정 변경보다 복잡한 작업이 필요합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 쪽지·포인트·스크랩 페이지를 일반 페이지(head/tail 포함)로 전환하기 26.10.12
- 다음글그누보드 사이트뷰 기본 프로필 이미지(noprofile.gif) 출력 제거 방법 26.10.11
댓글목록
등록된 댓글이 없습니다.