2012-07-03 3 views
2

대부분의 은행에서 사용하는 것과 같은 기능을 구축해야합니다. 어디 ..브라우저 탭에서 URL을 바꿀 때 자동 로그 아웃

& 사용자가 다시 은행 계좌에 로그인하면 & 브라우저의 URL을 다른 사이트로 이동하고 브라우저의 뒤로 버튼을 클릭하여 은행 페이지로 다시 이동합니다. 은행은 자동적으로 그곳에서 사용자를 로그 아웃합니다.

우리가 할 수있는 자바 스크립트가 될 수 있다고 생각합니다. 그러나 이것을 수행하는 방법을 이해할 수는 없습니다. 내 서버 측 스크립트에 PHP를 사용하고 있습니다. PHP에 의해 가능이있다이 아닌 자바/PHP 질문 ..

감사 수레 쉬

+0

사용자가 페이지를 떠나는 지 알 수있는 정확한 방법이 없습니다. –

+0

@AlexLunix 정확도에 대해서 .. 어떤 것을 말할 수 없습니다. 그러나, 나는 은행 계좌의 대부분이 그런 종류의 특징을 가지고있는 것을 보았다. 예 :시 은행 사용과 같은 기능 – mi6crazyheart

+0

@DaveRandom Thanks !!!. 나는 그것을 할 것이다 .. – mi6crazyheart

답변

1

을이 작업을 수행하지만, 구현하려는 정확한 동작에 의존합니다.

"라이브"사용자를 추적하는 유일한 방법은 자바 스크립트를 사용하는 것입니다. 따라서 사용자가 페이지를 떠날 때를 알고 싶으면 이벤트 리스너에 자신을 바인딩 한 다음 서버 측에서 세션을 무효화하는 ajax 호출 또는 이와 유사한 작업을 수행 할 수 있습니다. 사용자는 JS가 사용 중지 된 상태에서 사이트를 탐색 할 수 있으므로 서버 측에서 폴백해야합니다.

저장소 메커니즘 (내장 된 PHP 세션 저장소 또는 Couchbase, Redis, Memached 등과 같은 외부 저장소)을 사용하여 서버 측에 세션 저장소를 구현하고 로그 아웃 시간을 a sane default (뱅킹 응용 프로그램과 같은 경우 낮은 값).

기본 사항이있는 경우 사용자가 로그 아웃 할 때 "카운트 다운"을 표시하고 매번 세션을 갱신하기 위해 세션 새로 고침 아약스 호출을 서버로 보내는 등 JavaScript를 사용하여 사용자 경험을 풍부하게하십시오 사용자는 웹 사이트 등과 상호 작용을합니다.

자세한 내용은 귀하의 측면에서 더 많은 요구 사항이 필요합니다.

+0

'onbeforeunload'에서 AJAX를 사용하면'onunload'는 신뢰할 수 없다. 요청이 너무 오래 걸리거나 서버가 어떤 이유로 응답하지 않는 경우 브라우저 개발자는 주어진 페이지에서 사용자를 "함정에 빠뜨리는"웹 사이트 기능에 대해 우려 할 것이기 때문에 요청을 중단하거나 무시할 것으로 기대합니다. 사용자 경험. 나는 신뢰할 수있는 (ish) 방법은 매우 짧은 로그인 세션 타임 아웃 (아마도 1 분 정도)을 가지고, 세션을 유지하기 위해 ajax 폴링을 사용하는 것이고, 다른 방법으로는 사용하지 않을 것이라고 말하고 싶다. – DaveRandom

+0

@moidaschl 트릭이 효과가 있다고 생각합니다. 내가 시도해 보자. – mi6crazyheart

+0

@DaveRandom 나는 이미 짧은 로그인 세션 시간 초과에 대해 이야기하는 기능을 구현했다. 그러나, 나는 또한 이와 같은 기능을 원한다. – mi6crazyheart

관련 문제