로그인한 회원의 IP기록 조회, 저장. > 그누4 스킨

그누4 스킨

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

로그인한 회원의 IP기록 조회, 저장. 정보

기타 로그인한 회원의 IP기록 조회, 저장.

첨부파일

admin.zip (8.9K) 236회 다운로드 2006-07-03 04:25:24

본문

* 본 스킨 적용할때 기존파일 백업은 잊지 맙시다~
참.. utf-8이니까 메모장이나 에디트플러스로 모든 화일을 새이름 저장시 ansi로 저장하세요

ip로만 조회 할 수도 있구요.
ip와 아이디를 조회 할 수도 있습니다.
하나의 아이피에 아이디가 여러명이면 그것도 같이 기록되고 조회 할 수 있습니다.

visit테이블에 아이피와 해당 아이디를 함께 저장한 겁니다.

스킨을 찾아보니 아이피만 검색하는 스킨은 있던데
아이피와 아이디검색은 없더라구요.
아무래도 테이블에 mb_id를 추가하는 형식이라서~
회원들의 마지막 아이피는 알수 있지만
그동안의 접속 기록은 알수 없기 때문에 만들어 봤습니다.

실제로 계속 한 아이피만으로 접속하는 회원이 있는가 하면
접속할때마다 아이피가 달라지는 회원도 있더군요.

그리고 한 아이피에 로그인한 아이디가 여러개면 그것도 다 저장하고 조회할 수 있도록 했습니다.

약간 좀 번거로운 작업 이긴 합니다.
제 능력이 이것 밖에 안되서 간단하게 넣기만 하면 쭉~ 하도록 하지 못했네요.


사용법 :
1. id 검색할때 1 넣고, 접속자 버튼을 누르면 로그인한 아이피만 보여집니다.
id 를 넣으면 해당 id가 검색 되겠죠

2. ip에 해당 ip를 넣고 접속자 버튼을 누르면 ip가 검색 됩니다.

참고로, 그누보드 접속자기록은 쿠키로 판단 해서 24시간 지나야 기록 됩니다.
날짜가 바뀌더라도 24시간이 안디면 기록이 안된다는 거죠..
만약 날짜가 바뀌면 적용하도록 하시고 싶으면
bbs/visit_insert.inc.php 5번째 줄 이하를 아래와 같이 변경
--------------------------------
if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'] || get_cookie('ck_visit_date') != $g4['time_ymd']) {
    set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장
set_cookie('ck_visit_date', $g4['time_ymd'], 86400); // 하루동안 저장
-----------------------------------

아래 내용은 압축 안 readme.txt에 첨부된 내용입니다.
---------------------------------------
DROP TABLE IF EXISTS $g4[visit_table];
CREATE TABLE $g4[visit_table] (
  vi_id int(11) NOT NULL default '0',
  vi_ip varchar(255) NOT NULL default '',
  vi_date date NOT NULL default '0000-00-00',
  vi_time time NOT NULL default '00:00:00',
  vi_referer text NOT NULL,
  vi_agent varchar(255) NOT NULL default '',
  mb_id varchar(255) NOT NULL default '',
  PRIMARY KEY  (vi_id),
  UNIQUE KEY index1 (vi_ip,vi_date),
  KEY index2 (vi_date)
) TYPE=MyISAM;

install/sql_gnuboard4.sql에 요렇게 추가하세요. (수정된 sql_gnuboard4.sql을 첨부함)

이미 설치를 마치신 분들은 phpMyAdmin으로 가서 g4_visit 테이블에

필드 추가하기 : 1 테이블의 마지막 실행
하시고
필드 이름 mb_id
종류 : varchar
길이/값 : 255
Null : not null
기본값 :    ->없음 빈칸

-> 그리고 보존 혹은 실행 을 하면 테이블에 mb_id가 추가 되어 있을 겁니다.
-> 불편하신 분들은 sql문으로 작성한걸 실행토록 하면 되겠지만 제가 그렇게 만들진 못했네요^^;

bbs/login.check.php에 아래 내용을 추가 하세요.

// 회원아이디 세션 생성
set_session('ss_mb_id', $mb[mb_id]);
위의 내용을 찾으세요. 대략 37~38번째 줄. 위의 내용 밑에 아래 내용을 추가 하세요.
---------------------------------
sql_query(" update {$g4['visit_table']} set mb_id = concat('{$mb['mb_id']} ',mb_id) where

vi_date = '{$g4['time_ymd']}' and vi_ip='{$_SERVER['REMOTE_ADDR']}' and NOT INSTR(mb_id,

'{$mb['mb_id']}')");
---------------------------------
(login.check.php 화일을 첨부 했으니 덮어 씌워도 됩니다.)

간단히 설명하자면, 로그인을 할때 접속기록에 해당아이피가 있는 곳에 아이디를 추가 하는 겁니

다. 그리고 아이디는 이어 씁니다. 만약 하나의 아이피에 두명이 로그인 하면 두명의 아이디가 모

두 기록이 되는 것임.

그리고 visit.sub.php 와 visit.list.php는 adm폴더에 덮어 씌우면 됨.
혹시 모르니 기존 화일 백업은 잊지 마시길. 만약 잘못되면 책임을 못짐 -_-;;
추천
3

댓글 전체

전체 5,853 |RSS
그누4 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT