중복로그인 관련질문입니다. 정보
중복로그인 관련질문입니다.본문
중복로그인을 막거나 또는 기존에 있던 접속자를 로그인이 풀리게 하는 방법은 있지만.
제가 묻고 싶은 것은 중복접속된 시간과 그리고 아이피주소 중복접속된 아이디의 정보를
관리자가 볼 수 있는지에 대한 질문입니다.
동일시간에 같은 아이디로 서로 다른아이피로 접속하는 것을 막고자 하는 것이 아니라
중복된 시간과 동시 접속된 아이디와 접속된 시간을 보고 싶은 것입니다.
알 수 있는 방법이 있다면 일러주시면 감사하겠습니다.
가급적 소스를 어디를 수정해야 하는지도 알려주시면 좋겠습니다.
댓글 전체
방법만 알려 드리죠...^^
visit 테이블에 필드를 하나 추가하고,
adm / fisit_list.php 파일에 로그인을 했을경우 그 필드에 아이디가 저장되도록
소스를 추가 / 보여주기 소스 추가 하시면 최고관리자가 확인할수 있습니다....^^
visit 테이블에 필드를 하나 추가하고,
adm / fisit_list.php 파일에 로그인을 했을경우 그 필드에 아이디가 저장되도록
소스를 추가 / 보여주기 소스 추가 하시면 최고관리자가 확인할수 있습니다....^^
해당스킨은 http://sir.co.kr/bbs/tb.php/g4_skin/14763
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 화일을 첨부 했으니 덮어 씌워도 됩니다.)
간단히 설명하자면, 로그인을 할때 접속기록에 해당아이피가 있는 곳에 아이디를 추가 하는 겁니
다. 그리고 아이디는 이어 씁니다. 만약 하나의 아이피에 두명이 로그인 하면 두명의 아이디가 모
두 기록이 되는 것임.
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 화일을 첨부 했으니 덮어 씌워도 됩니다.)
간단히 설명하자면, 로그인을 할때 접속기록에 해당아이피가 있는 곳에 아이디를 추가 하는 겁니
다. 그리고 아이디는 이어 씁니다. 만약 하나의 아이피에 두명이 로그인 하면 두명의 아이디가 모
두 기록이 되는 것임.