BOARD

팁·활용

그누보드 게시판 목록(list.skin.php)에 글쓴이 IP 출력 및 마스킹 처리 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 3회 작성일 26-10-26 16:19

본문

그누보드 게시판 목록(list.skin.php)에 글쓴이 IP 출력 및 마스킹 처리 방법

그누보드 게시판 목록 스킨(list.skin.php)에서 기본으로 제공되지 않는 글쓴이의 IP 주소를 출력하고, 관리자가 아닐 경우 중간 주소를 마스킹 처리하여 안전하게 노출하는 방법을 안내합니다.

게시판 관리 설정 확인

게시판 목록(list.skin.php)에 글쓴이 IP를 출력하기 전, 관리자 페이지의 게시판 설정에서 'IP 보이기' 항목에 사용 체크가 되어 있는지 먼저 확인해야 합니다.

list.skin.php 스킨 파일 수정 방법

게시판 스킨 폴더 내의 list.skin.php 파일을 열고, 목록 반복문 코드인 for ($i=0; $i<count($list); $i++) { 바로 밑에 관리자 권한별 마스킹 처리 로직을 추가합니다.

for ($i=0; $i<count($list); $i++) {
 if (!$is_admin) { // 관리자가 아니라면 중간 IP 주소를 감춘후 보여줍니다.
 $list[$i]['wr_ip'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $list[$i]['wr_ip']);
 }

IP 출력 위치별 코드 삽입

아이피를 출력하고 싶은 위치에 목적에 맞는 코드를 삽입합니다.

  • 모든 글에 출력
    <?php if ($is_ip_view) {?><?php echo $list[$i]['wr_ip']?><?php }?>
  • 비회원이 등록한 글에만 출력
    <?php if ($is_ip_view &&!$list[$i]['mb_id']) {?><?php echo $list[$i]['wr_ip'];?><?php }?>

주의사항: 새글(최신글) 리스트 등 다른 페이지에는 동일 코드가 바로 적용되지 않을 수 있습니다.

게시판 목록 IP 출력 및 마스킹 처리 방법

게시판 관리 설정에서 'IP 보이기'를 사용으로 체크한 후, list.skin.php 파일의 반복문(for ($i=0; $i<count($list); $i++) {) 바로 아래에 다음 코드를 추가하여 관리자 외 사용자에게 IP를 마스킹합니다.

if (!$is_admin) {
 $list[$i]['wr_ip'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $list[$i]['wr_ip']);
}

이후 원하는 위치에 아래 코드를 삽입하여 IP를 출력합니다.

<?php if ($is_ip_view) { echo $list[$i]['wr_ip']; }?>

주의: 새글(최신글) 리스트 등 다른 페이지는 변수 구조가 달라 동일 코드가 바로 적용되지 않을 수 있습니다.

비회원 글에만 선택적 IP 출력 조건문 사용 방법

그누보드 게시판 목록 스킨 파일인 list.skin.php에서 회원 글과 비회원 글을 구분하여 비회원 작성 글에만 IP 주소를 출력하려면 아래의 조건문 코드를 사용할 수 있습니다.

적용 코드

<?php if ($is_ip_view &&!$list[$i]['mb_id']) {?><?php echo $list[$i]['wr_ip'];?><?php }?>

조건 및 다음 행동

  • 사전 설정: 관리자 페이지의 게시판 관리 설정에서 IP 보이기 항목이 사용으로 체크되어 있어야 합니다.
  • 코드 삽입 위치: list.skin.php 파일 내부의 반복문(for ($i=0; $i<count($list); $i++)) 하단에 마스킹 처리 로직이 선행된 이후, 목록 내에서 IP를 노출하고 싶은 적절한 위치에 위 코드를 삽입합니다.
  • 동작 조건: $is_ip_view가 참이고 회원 아이디(mb_id)가 존재하지 않는 비회원 글인 경우에만 wr_ip가 출력됩니다.

새글(최신글) 리스트 적용 시 주의사항

새글 리스트(new.skin.php) 등은 게시판 목록과 변수 구조 및 반복문 형태가 달라 Q2에서 안내한 코드가 그대로 작동하지 않을 수 있습니다. 해당 페이지는 별도의 변수 처리가 필요하므로 주의가 필요합니다.

상황별 판단 및 행동 지침

내 상황우선할 판단다음 행동
게시판 목록(list.skin.php)에서 글쓴이 IP가 출력되지 않음관리자 설정에서 'IP 보이기' 기능이 켜져 있는지 확인게시판 관리 설정 확인 후 list.skin.php 파일 수정 진행
관리자와 일반 사용자에게 IP 노출 범위를 다르게 적용하고 싶음일반 사용자와 관리자 권한($is_admin) 분기 처리 필요반복문 직후에 preg_replace를 활용한 마스킹 처리 코드 추가
비회원 작성 글에만 선택적으로 IP를 노출하고 싶음회원 아이디(mb_id) 존재 여부 조건문 결합 필요$is_ip_view &&!$list[$i]['mb_id'] 조건부 출력 코드 삽입

실전 FAQ

Q. 새글(최신글) 리스트나 다른 페이지에도 동일한 코드를 그대로 쓸 수 있나요?

A. 새글 리스트(new.skin.php) 등은 변수 구조나 반복문 형태가 게시판 목록과 달라서 동일 코드가 바로 적용되지 않을 수 있습니다.

Q. 일반 방문자에게 IP 전체를 그대로 노출해도 되나요?

A. 관리자가 아닌 일반 방문자에게 IP를 전체 오픈할 경우 개인정보 보호와 관련된 법적 문제가 생길 수 있으므로 마스킹 처리를 권장합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.