2005년 04월 12일
PHP로 현재 접속수 체크
PHP로 현재 사이트의 접속수를 체크하는 방법을 생각해 보았다.

처음에는 네이버에서 대충 검색해 봤는데 '세션이 어쩌구 저쩌구~' 하는
별로 도움안되는 답변이었다.

뭔가 기술적인 부분이 필요한가 싶어서 찾아봤는데 대충 찾아서 그런지
검색을 통해 건져낸게 없었다.

뭐 역시나 가장 만만한 것이 세션.

세션관련 함수를 뒤져봤는데 내가 원하는 기능을 수행하는 함수는 없었다.

제로보드는 보안을 위해서 세션을 직접 관리한다는데 나도 직접 관리를 통해서
접속수를 체크하게 해볼까 싶었지만 다른 프로그램과의 호완성을 생각해서
그냥 기본제공되는 세션함수나 충실히 쓰기로 마음 먹었다.

그렇다면 접속과 해지를 어떻게 체크할 것인가.
이래저래 고민했지만 역시 사이트에 접속하면 세션ID를 DB에 저장하기로 마음먹었다.

이제 접속해지를 체크해야 하는데 첫번째 방법으로 세션파일이 지워지지 않고
존재하는지를 체크하려 했다. 그런데 왠걸 PHP 기본 옵션상 불필요한 세션파일이
지워지는데 오랜시간이 걸리는 것이었다.

그래서 역시 마지막 수단으로 DB에 수시로 현재 접속시간을 업데이트해서 일정 시간이 지나면
잠수 및 접속해제를 처리하고 DB에서 지우기는 처리를 선택했다.

매번 페이지를 옮길 때마다 DB에 현재시간을 업데이트 해야하는 것이 맘에 안든다.
맘에 안들어도 따른 방법은 생각나지 않는다. PHP로 접속수 체크는 이정도가 한계인듯.

어차피 소규모 사이트에서 사용할 코드이니 그리 무리는 없다고 본다.
규모가 큰 사이트에는 쓰면 안좋겠지. 하지만 장비로 때운다면 ㅎㅎ
by -A2- | 2005/04/12 01:19 | 개발/플밍 | 트랙백 | 덧글(8)
트랙백 주소 : http://ani2life.egloos.com/tb/1188192
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 밀피유 at 2005/04/12 16:37
php에서 지원하는 세션을 사용하지 않고 쿠키에 의존한 커스텀 세션을 만든다면 페이지마다 db 엑세스가 일어난다 하더라도 db에 의존하는 것이 거의 필수적이지 않을까 싶습니다. 개인적인 경험으로는 기본 세션에 의존하는 것 보다 데이터베이스와 쿠키에 의존한 커스텀 세션쪽이 같은 시스템에서 좀 더 잘 견디는 것 같은 느낌이었습니다.
Commented by yser at 2005/04/12 20:59
흐흐흐흐 다시금 phpschool 에 가보심이...
Commented by -A2- at 2005/04/13 01:09
밀피유// 쿠키는 로컬에 저장되니 그래서 더 나으려나요.
세션은 글로벌 변수로 제공되서 편하긴 한데요.

yser// 뭐 팁택만 읽고 나오는 정도야 괜찮죠. ㅎㅎ
담에 생각나면 한번 가봐야 겠네요.
Commented by -A2- at 2005/04/13 01:10
yser// 그런데 님 블로그에는 댓글남기는 부분이 없어서 슬퍼요.
따로 적는 공간이 있다지만 그래도 해당 게시물에 남길수 없으니.
Commented by yser at 2005/04/14 14:24
블로그 개설 될 때까지 좀만 참아 주세요.
이제 관리자 페이지 들어갈 단계입니다.
아직 조정이 좀 남아서.. ^^;
블로그에 다양한 기술과 철학이 깃들다보니 이래저래 단순한 기능도 손볼 게 많네요.
Commented by -A2- at 2005/04/15 06:34
yser// 확실히 블로그란 여러 기술의 총합체인것 같습니다.
누가 생각했는지 몰라도 머리 좋아요. ㅎㅎ
Commented by 정태영 at 2005/08/11 08:30
system 의 힘을 빌려보세요 unix 라면 cron 이 돌고 있기 때문에... cron 에 등록함으로... 일정 시간마다 특정 행동을 쉽게 할 수 있습니다 :)

그리고 임시 파일을 만들고... 일정시간 내로 접속시도가 있었던 사용자에 대한 정보를 유지하는 것만으로도... 동시접속자 정보는 어느정도 유지가 가능합니다 :)

검색 같은게 일어나지 않고... 동시접속자가 정말 대단히 많지 않은 이상은 작은 파일 하나로 처리하는게 더 간단하고 빠르지 않을까 싶군요... (물론 동시에 파일을 쓰려고 시도할 경우 깨질 수 있다는 점이 문제긴 하군요;; )
Commented by -A2- at 2005/08/11 09:26
정태영// 옛날 동시에 파일을 쓸 경우에 대한 문제를 생각하지 못해서 카운터 프로그램이 항상 0이 되어서 고생했던 일이 생각나네요. ㅎㅎ
아... 저희 시스템이 열악합니다. ㅠ_ㅠ

:         :

:

비공개 덧글



<< 이전 페이지 | 다음 페이지 >>