해피정

현재 접속자 로직의 모순

· 2018-08-30 (목) 10:46:37 · 7914 · 5

해결방법없이 문제만 제기하는 글입니다.  ^^;;


그누보드5의 현재접속자 정보를 저장하는 다음과 같습니다.
변수 : $g5['login_table']
테이블 : g5_login
g5_login 필드 : lo_ip / mb_id / lo_datetime / lo_location / lo_url

운영원리
접속된 컴퓨터의 IP를 lo_ip 와 조회해서 중복되면 업데이트를 합니다.

문제점
공유기를 이용해서 다른 컴퓨터에서 접속하면 앞서 접속한 정보가 사라집니다.
즉, 동일 IP에서 복수의 아이디로 로그인 한 경우에 최종 접속한 정보만 존재합니다.

개선방법
$_COOKIE["PHPSESSID"] 값을 저장하는 필드를 추가  ex)  lo_phpsessid
중복체크할때 아래와 같이 변경
아이피 중복확인  →   PHPSESSID 중복확인  →   업데이트


참고자료
https://sir.kr/qa/261344

https://blog.naver.com/visioner7/120162406412

|

댓글 5개

몰랐던 내용이네요 감사합니다
2018-09-01 (토) 04:14:00
문제는... 세션이 꼭 한 컴퓨터 에서라는 값은 아니라는것입니다.
예를들어 크롬과 익스플로러 두개로 동시접속하면 세션값은 두개가 생성되고 접속자가 2명으로 되겠지요.
100% 확실하게 단일컴퓨터를 인식할기에는 힘들지 않을까 생각합니다.
목적이... 단순 현재 접속수를 찾느냐... 또는 단일 접속자를 찾느냐.. 가 관건이 아닐까 생각해봅니다.
네 맞습니다. 한컴퓨터에서도 2개 이상 브라우저로 접속을 합니다.

비로그인 상태라면 아이피 중복으로 마지막 한개만 인식하고
로그인 상태라면 아이피+아이디 개별로 인식하는것이 어떨까 생각해봅니다.
2018-09-01 (토) 19:36:54
저것으로 실제 방문수를 알고자 하는게 목적이라면 정확하지 못하다는 말이었구요.
우선 저렇게 db에 남겨두고 전체방문수, 로그인수, 아이피별 방문수 등등
추출해내면 많은 정보를 얻을 수 있어서 좋을꺼 같긴 해요 ^^
접속자 집계 개선안
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
18-09-02 조회 1.8만
18-08-30 조회 7,915
18-08-29 조회 6,794
18-08-23 조회 1.1만
18-08-22 조회 7,659
18-08-21 조회 9,475
18-08-14 조회 1.2만
18-08-14 조회 1.1만
18-08-13 조회 9,694
18-08-09 조회 6,609
18-08-02 조회 1만
18-07-31 조회 7,351
18-07-30 조회 1.4만
18-07-25 조회 6,920
18-07-24 조회 6,004
18-07-22 조회 7,991
18-07-16 조회 1.4만
18-07-14 조회 6,266
18-07-13 조회 5,937
18-07-12 조회 8,118
18-07-12 조회 5,553
18-07-11 조회 2.2만
18-07-10 조회 6,380
18-07-10 조회 6,115
18-07-09 조회 7,502
18-07-09 조회 8,009
18-07-09 조회 1.6만
18-07-05 조회 1.2만
18-07-05 조회 6,229
18-07-05 조회 7,902