2013-11-03 2 views
-2

사용자가 로그인해야 앱을 사용할 수 있습니다.사용자가 페이지로 돌아갈 때 활성화 된 PHP 세션을 확인하십시오 - JQuery

나는 로그인 할 때 PHP 세션을 사용하여 사용자 데이터를 저장합니다.

사용자가 창을 연 상태로두고 예를 들어 1 시간 후, 그들이 여전히 로그인되어 있는지 확인하는 가장 좋은 방법은 무엇입니까?

1) check mouse movement which then fire AJAX php file to see if session still active 

2) check as above on mouse click anywhere 

그러나이 후 지속적으로 실행하기 때문에 타격 잠재적으로 수천 배 많은없는 사용자와 두 번째 서버를 치는 것, 그래서 효율적인 의심 : 내가 생각할 수있는

옵션입니다.

더 좋은 방법이 있나요? '표준'이 있습니까?

PHP와 JQuery를 사용하고 있습니다.

+1

"로그인"되어 활성 상태가 아닙니다. 그들이 '활동적'인지 알아야한다고 말하는거야? –

답변

2

자바 스크립트 setInterval(function, time)을 사용하여 사용자가 인증되었는지 확인하기 위해 X 분마다 서버를 폴링합니다. 결과에 따라 JSON에서 응답을 반환합니다.

setInterval() 기능에 대한 좋은 설명은 javascript setInterval을 참조하십시오. 당신이 웹 사이트에 활성 인 사용자에 대해 물어 사실에있는 경우

, 당신은 (같은 시간과 같은) 분의 X 금액 후 setTimeout() 기능을 사용할 수 있습니다 밖으로 AJAX 요청을 통해 사용자가 로그인 할 때, 또는 표시 온라인 인터넷 뱅킹과 같은 경고.

사용자가 시간 초과가 발생하기 전에 요청하면 요청 - 응답주기로 인해이 프로세스가 자연스럽게 다시 시작됩니다.

+2

아마도 탭이 포커스를 되찾았을 때 발동하는 수표를 가지고있는 것 같습니다. – Chris

+0

@Chris 네, 그렇습니다. – SamV

관련 문제