BOARD

문제 해결

그누보드4 게시글 IP 저장 방지 및 기존 IP 일괄 삭제 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 0회 작성일 26-10-30 15:29

본문

그누보드4 게시글 IP 저장 방지 및 기존 IP 일괄 삭제 방법

그누보드4 환경에서 신규 게시글 작성 시 IP 주소가 기록되는 것을 차단하고, 데이터베이스에 이미 저장된 기존 게시글의 IP를 일괄 삭제하는 방법을 알아봅니다.

그누보드4 신규 게시글 IP 저장 방지 설정

그누보드4에서 향후 신규 작성되거나 수정되는 게시글에 IP 주소가 기록되지 않도록 하려면 extend 디렉토리에 전용 파일을 생성하여 $_SERVER['REMOTE_ADDR'] 값을 공백으로 처리해야 합니다.

1. 설정 파일 생성 위치 및 코드

  1. 서버의 그누보드4 설치 경로 내 extend 디렉토리로 이동합니다.
  2. ip_clear.php 파일을 생성하고 아래의 코드를 작성하여 저장합니다.
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$_SERVER['REMOTE_ADDR'] = ''; // 향후 글작성 또는 수정시 아이피 필드에 공백 저장
?>

위 파일을 extend/ip_clear.php 경로에 저장하면 이후 작성되거나 수정되는 게시글에서 IP 자료가 저장되지 않습니다. 단, 이 설정은 전역적으로 적용되므로 적용 전 반드시 데이터베이스를 백업하고, IP를 기반으로 작동하는 보안 플러그인이나 차단 기능이 정상 작동하는지 확인하십시오.

기존 게시글 IP 일괄 삭제 스크립트 실행 방법

그누보드4 환경에서 기존에 저장된 모든 게시글의 IP 데이터를 삭제하려면, 루트 디렉토리에 _ip_clear.php 파일을 생성하고 웹브라우저로 접속하여 실행합니다.

1. 스크립트 파일 작성

그누보드4 설치 경로 내에 _ip_clear.php 파일을 저장한 뒤 아래 코드를 입력합니다.

<?php
include "_common.php";
include "dbconfig.php";
echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
$dbconn = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die("데이터베이스 연결에 실패하였습니다.");
mysql_select_db($mysql_db, $dbconn);
$sql = " select * from ". $g4['board_table']." ";
$result = mysql_query($sql, $dbconn);
while($data = mysql_fetch_array($result)) {
 $query2 = " update g4_write_". $data[bo_table]." set wr_ip = '' ";
 $result2 = mysql_query($query2);
 echo $data[bo_subject]."(". $data[bo_table].") IP deleted complete!!<br>";
}
echo mysql_error();
mysql_close($dbconn);
?>

2. 스크립트 실행

웹브라우저 주소창에 아래 주소를 입력하여 실행합니다.

  • 웹브라우저 접속 주소: http://홈페이지/그누보드4/_ip_clear.php

실행 완료 시 각 게시판 테이블(g4_write_게시판테이블명)의 wr_ip 필드가 공백('')으로 업데이트되어 기존 IP 정보가 일괄 삭제됩니다. 작업 전 반드시 데이터베이스를 백업하고, 실행 후에는 특정 게시판의 게시글을 열어 wr_ip 필드가 정상적으로 비워졌는지 확인하십시오.

그누보드4 게시글 IP 저장 방지 및 기존 IP 일괄 삭제 방법

그누보드4 환경에서 신규 게시글 작성 및 수정 시 IP가 저장되지 않도록 설정하고, 기존 데이터베이스에 남아있는 IP 정보를 일괄 삭제하는 방법입니다.

1. 신규 게시글 IP 저장 방지 설정

extend 디렉토리에 파일을 생성하여 향후 작성되거나 수정되는 글의 IP가 공백으로 저장되도록 설정할 수 있습니다.

  • 파일 위치: extend/ip_clear.php
  • 설정 내용:
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

$_SERVER['REMOTE_ADDR'] = ''; // 향후 글작성 또는 수정시 아이피 필드에 공백 저장
?>

2. 기존에 저장된 게시글 IP 일괄 삭제

데이터베이스에 이미 기록된 게시글의 IP를 일괄적으로 비우려면, 루트 디렉토리에 스크립트 파일을 생성한 뒤 웹브라우저로 접속하여 실행합니다.

  • 파일 위치: 그누보드4 설치 경로 내 _ip_clear.php
  • 실행 방법: 웹브라우저 주소창에 http://홈페이지/그누보드4/_ip_clear.php 입력 후 접속
  • 스크립트 예시:
<?php
include "_common.php";
include "dbconfig.php";
echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";
$dbconn = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die("데이터베이스 연결에 실패하였습니다.");
mysql_select_db($mysql_db, $dbconn);
$sql = " select * from ". $g4['board_table']." ";
$result = mysql_query($sql, $dbconn);
while($data = mysql_fetch_array($result)) {
 $query2 = " update g4_write_". $data[bo_table]." set wr_ip = '' ";
 $result2 = mysql_query($query2);
 echo $data[bo_subject]."(". $data[bo_table].") IP deleted complete!!<br>";
}
echo mysql_error();
mysql_close($dbconn);
?>

3. 주의사항 및 충돌 가능성

  • 플러그인 충돌: $_SERVER['REMOTE_ADDR'] 값을 강제로 공백 처리하면, IP를 기반으로 접속자를 식별하거나 차단하는 보안 모듈, 통계 플러그인, 관리자 접근 제한 기능이 무력화될 수 있습니다. 적용 전 반드시 운영 중인 환경에서 IP 참조 기능이 정상 작동하는지 점검하십시오.
  • 사전 조치: 모든 작업 전에는 반드시 데이터베이스를 백업하여 예기치 못한 데이터 손실이나 기능 오류에 대비하십시오.

그누보드4 IP 관리 상황별 대응 지침

내 상황선택 기준다음 행동
신규 게시글의 IP 저장을 방지하고 싶을 때extend 디렉토리 활용extend/ip_clear.php 생성 후 $_SERVER['REMOTE_ADDR'] = ''; 코드 저장
기존 게시글의 IP를 일괄 삭제하고 싶을 때DB 직접 업데이트루트 디렉토리에 _ip_clear.php 생성 후 웹브라우저로 접속하여 실행
IP 차단 후 플러그인 충돌이 우려될 때사전 백업 및 검증적용 전 DB 백업 수행 후, IP 기반 플러그인 정상 작동 여부 확인

실전 FAQ

Q. extend/ip_clear.php 적용 후에도 기존 게시글의 IP가 남아있습니다.

  • A: extend 설정은 파일 생성 이후 발생하는 신규 작성·수정 건에만 적용됩니다. 기존 데이터는 별도의 SQL 업데이트 스크립트를 통해 wr_ip 필드를 직접 비워야 합니다.

Q. 스크립트 실행 시 DB 연결 오류가 발생합니다.

  • A: _ip_clear.php 내 dbconfig.php 경로가 정확한지 확인하십시오. 서버 환경에 따라 mysql_connect 함수가 지원되지 않을 수 있으므로, 사용 중인 PHP 버전에 맞는 DB 연결 방식을 확인해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.