PHP 에서 자동 로그인 구현 방법
글쓴이: 망치 / 작성시간: 토, 2006/11/18 - 3:32오후
일반적으로 세션을 이용해서 로그인 처리를 할때, 로그인 하면 쿠키로 세션키를 클라이언트에 발급하고 서버의 세션정보에 사용자 정보를 저장해서 운용하는걸로 알고있는데요. 이 세션이 일정시간후엔 자동으로 정리가되죠? 사용자가 expire 시간까지 한 페이지에서 머물러 있거나.. 아니면 로그아웃 없이 브라우저를 닫거나 했을때..
expire 시간이 지나면 서버에선 해당 세션에 대한 정보가 삭제되고.. 사용자가 다시 접속을 하면 새로 로그인을 해야 하구요.
근데 자동 로그인을 구현하기 위해서는 서버에서 세션 정보를 정해진 expire 시간보다 더 오래 가지고 있어야 할텐데.. 이런건 보통 어떻게 처리하나요? 사용자가 직접 로그아웃 링크를 클릭하여 destory 시키기 전까지 세션데이터의 expire 기간을 무제한으로 한다거나.. 무제한급으로 늘려준다거나 하는건가요?
다른곳에 질문했더니 쿠키에 아이디와 패스워드를 저장해두는거라고 하는데.. 제 상식으로 쿠키에 그런 정보를 저장하는건 상당히 위험하고.. 그런 정보를 쿠키에 넣지 않기 위해서 세션을 이용하는걸로 아는데.. ㅡ.,ㅡ;;
Forums:
보통 쿠키에
보통 쿠키에 세션키를 구울 때 잔류시간0 으로 구워서 브라우저 종료와 함께 삭제되도록 만들죠.
그렇게 되면 쿠키가 파일로 만들어지지도 않고, 메모리상에만 존재하게 됩니다.
그래서 브라우저를 끄면 로그인을 다시 해야 하는거죠.
자동로그인시는 쿠키에 잔류시간을 줘서 브라우저를 닫아도 쿠키가 지워지지 않게 하고,
php 의 세션을 db 세션으로 작성하고, 가비지 컬렉팅 할 때 참조할 자동로그인 사용자 필드 하나 만들어서
autologin = false 만 delete 하도록 하면 어느정도는 만족할 결과가 나올 것 같네요.
emerge money

https://xenosi.de/
매번 감사드립니다.
매번 감사드립니다. :D
---------------------------------------
http://www.waitfor.com/
http://www.textmud.com/
댓글 달기