웹모아
웹모아[손님] 검색   로그인 / 회원가입    



 
환경설정
 


브라우져를 종료해도 세션이 그대로 살아있어요
  2007-07-15 22:16:01 댓글:(0)   조회:2465



php.ini에서도 
session.lifetime = 0 
session.cookie_lifetime = 0 
session.gc_maxlifetime = 0 


이렇게 했거든요.. 
근데 브라우져를 종료하고 나서 
다시 서비스에 접속하면 세션 값이 그대로 살아있어서 
자동으로 로그인이 되어버립니다.. 
어떻게 하면 되죠? 

===============================================================
A:
원인은 클라이언트의 쿠키가 제때 제거되지 않고, 서버의 활동이 적은 경우가 
더해저 생기는 문제입니다. 

서버는 세션이 시작되면 - 보통 session_start()호출을 말합니다 - 가비지(쓸모없어 보이는 세션)를 
정리하는데 session_start()를 약100번 호출해야 한번 정리합니다. 
그러니 서버이용이 적은 경우 가비지가 제때 정리안되 유효시간이 지난 세션이 못 지워지고 
그대로 사용됩니다. 

이때 필요한게 한가지 더 있는데 $_COOKIE["PHPSESSID"] 값이 클라이언트에 있어야 합니다. 
정상이라면 부라우저 종료시 사라저야 하는 쿠키값이 계속남아 있는 오류죠. 

이 오류는 어디서 잘못인지 모르겠더군요. 익스의 버그인지 아니면 php, apache의 버그인지.. 


관련있는 설정들은 
session.cookie_lifetime = 0 쿠키의 유효시간 설정으로 0이면 브라우저 종료시 삭제입니다. 
그러나 이게 안되서 문제가 발생하는 것이지요. 

session.gc_probability = 1 
session.gc_divisor    = 100 
이런경우 1/100 의 확률로 가비지를 정리합니다. 
위에서 말한 100번 호출해야 한번정리한다는 건 이설정때문입니다. 
서버이용자가 적어 가비지가 제때 호출되지 못하는경우 이확률을 높여 해결이 가능하지요. 

session.gc_maxlifetime = 1440 
이건 가비지 호출시 1440초 동안 쓰이지 않은 세션을 정리한다는 것으로 
0으로 하면 안되겠죠. 


session.lifetime = 0  ㅡ..ㅡ 이런 설정값은 제가 알기론 없습니다. 
버전이 몇인지 몰라도 php4에서도 없었던듯 한데...



 댓글 (0)


환경설정
페이지: 1 / 2   


   PHP.INI에서의 세션 관련 설정5218
   [PHP] $_SERVER3540
   php 에서 세션시간설정1354
   업로드 용량과 관련한 php.ini 파일 설정1302
   mbstring - PHP 확장모듈을 추가하는 방법1351
     [RE] mbstring - PHP 확장모듈을 추가1474
   타도메인간 쿠키 공유하기1726
   home 데이타 백업 스크립트1308
   cron 이용 일정시간마다 php문실행2119
   cron, crontab, PHP 소스 자동실행, 1583
   crontab 에서 php 파일 실행이 가능한지요?1426
   crontab php 스크립트 실행문제입니다.(1) 1303
   2차 도메인과의 세션고유1531
   POST로 값을 넘길때, 만료된 페이지입니다 문제의(홈마스타)3120
   세션(로그인)시간 무한대로 늘리기 초간단 초보용(홈마스타)(2) 1410
   php mysql 세션 관리(홈마스타)2668
   세션을 DB로 관리하기 + 쪽지 확인하기(홈마스타)(1) 1611
브라우져를 종료해도 세션이 그대로 살아있어요(홈마스타)2466
   PHP에서 세션 사용하기(홈마스타)1404
   [설치/설정] PHP 파일업로드시 일정용량 이상 업(홈마스타)1273
   php.ini 값 설정가능한 범위 알아보기(홈마스타)1538
   PHP 슈퍼전역변수 들의 종류(홈마스타)19584
   쿠키공유를 위한 헤드값(홈마스타)1417
   php.ini 설정하기(홈마스타)1425
   php.ini (V4.2.3) - III(홈마스타)1400
   php.ini (V4.2.3) - II(홈마스타)1439
   환경을 실행중에 임시로 바꾸기(홈마스타)1300
   php.ini (V4.2.3)(홈마스타)1501
   error_reporting(홈마스타)1796
   경과만료 페이지 없애기(홈마스타)1635
[1]  [2]  

복수단어 검색은 공백(space)로 구분해 주세요. 1




 
최근 글
[손님]

인기 글
[손님]
[홈마스타] 카네기의 지도론