개발 Q&A

제목 페이지 닫기 시에 세션 처리 방법
카테고리 HTML
글쓴이 손씨가문 작성시각 2020/01/09 14:48:02
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 8357   RSS

안녕하세요

 

현재 홈페이지에 세션을 이용하여 15분간 아무 입력 없을 시에 자동 로그아웃되게 하였는데요.

문제가 페이지를 아예 닫을 떄는 세션작동이 안되서

페이지를 닫고 15분 뒤에 새창을 띄워 그 페이지로 들어오면 로그아웃이 안되어있습니다.

 

onbeforeunload 등을 써봤는데,

잘 안되네요.

 

혹시 쉽게 처리할 방법이 있나요?

 다음글 모바일 어플리케이션 UI 관련 간단한 질문입니다 (1)
 이전글 암호화, 복호화 문의 드립니다. (4)

댓글

kaido / 2020/01/09 15:09:54 / 추천 0

php로 하시는거라면 단언하는데 없습니다.

해당 문젠 제가 15년전에도 고민해봣고 지금까지 질문을 받아봣는데 없습니다.

가장 문제인 부분이 브라우저의 탭 닫기, 강제종료 등을 하면 브라우저는 어떤 콜백도 주지 않고 바로 닫아버립니다.

심지어 브라우저 자체에서 좀비 프로세스로 남겨서 기억하고있기 때문에 로그인이 유지되기도 합니다.

해당 기능을 유사하게 효과는 낼수 있긴한데 매우 비효율적이구요.

손씨가문 / 2020/01/09 15:22:15 / 추천 0

그럼 해당 세션을 DB에 저장하고 비교해서 로그아웃을 강제로 진행시키는 방법밖에없나요?

kaido / 2020/01/09 15:24:55 / 추천 0

짦은 주기로 매번 DB이든 어딘가에 저장한 값과 지속적으로 비교해야 합니다.

체크 주기가 짦아질수록 디도스 공격 처럼 작동하게 되니... 매우 비효율적입니다.

손씨가문 / 2020/01/09 15:35:39 / 추천 0
그러겠네요......하..........어떻게 줘야할지 막막하네요...
엽토군 / 2020/01/09 23:47:27 / 추천 0
저라면.. 입력이 있건 말건 브라우저가 닫히건 말건 생성시점으로부터 15분 지나면 무조건 죽어버리는 세션을 계속 새로 생성해줄 것 같습니다. 그렇게 하면 안될려나요?
kimjw / 2020/02/05 17:50:16 / 추천 0

세션관리를 꼭 DB로 하셔야되는건가요? 상황을 모르는지라..

서버에 root 권한이 있으시다면 sharedance 설치하여 서버에서 세션을 관리하고 해당 이슈를 해결할수가 있습니다.