2014-09-28 2 views
0

웹 사이트가 있고 현재 자바 스크립트를 사용하는 클라이언트 측에서 타임 아웃을 제공하고 있으므로 요청을하지 않고도 사용자를 로그 아웃 할 수 있습니다. 그래서 같은 접근법을 제안하고, 사용자가 두 개의 탭을 열었다 고 가정하면 큰 변화가 있습니다. 사용자가 탭 2에 그는이 프로필을 편집 할 경우처리 세션 자바 스크립트 또는 서버 측의 시간 초과

Tab 1: 
www.MYSITE.com/welcome.php 

Tab 2: 
www.MYSITE.com/edit_profile.php 

지금, 표 1은 사용자가 (그건 당신이 유휴 시간을 처리하는) 경고 표시/로그 아웃됩니다 즉, 유휴 상태입니다.

내 생각에 일관성이없는 것 같아서 서버 측에 있어야한다고 내 접근 방식이 맞습니까? 방법이 될 수

+0

세션이 무엇인지에 달려 있고 특정 시간이 지나면 세션을 닫는 동기가 무엇인지에 따라 달라집니다. 컷/드라이 보안 문제라면 서버 기간에만 적용 할 수 있습니다. 단지 일부 클라이언트 비활성을 감지하고 즉시 보안 문제가없는 경우 클라이언트에서 활동을 탐지하는 것이 좋습니다. – jfriend00

+0

@ jfriend00 정상적으로 우리는 사람을 로그 아웃하기 위해 타임 아웃을 사용합니다 .. – Badddy

+1

그리고 그게 얼마나 중요합니까? 보안에 영향이 있습니까? 그리고 두 개의 탭이 열려 있고 사용자가 다른 탭에서 상호 작용하는 동안 로그 아웃이 발생하면 걱정합니까? 이 모든 것은 애플리케이션의 중요한 부분에 달려 있습니다. 그 외에 다른 대답은 없습니다. – jfriend00

답변

1

하나,

당신이 세션 isset($_SESSION['variable'])를 사용하여 만료 여부를 확인할 수 있습니다 서버에, 서버에 대한 요청을 보낼 때마다 아약스의 경우이 검사, 아약스 콜백에서 다음 응답 SESSION_TIMEOUT &을 보내 응답.

이 메시지가 표시되면 '세션이 만료되었습니다.'라는 메시지가 표시됩니다. & 초기 페이지로 리디렉션 (로그인 페이지 일 수 있음).

관련 문제