어떻게 확인할 수 있습니어 있는지 확인하는 창에 적극적으로 사용되는,그렇지 않은 경우 경고 최종 사용자는 그들은 기록됩니까?

StackOverflow https://stackoverflow.com/questions/105147

  •  01-07-2019
  •  | 
  •  

문제

에서 작업시스템에 대한 회사,그리고 중 하나의 자신의 요청이 창가하고 사용자에게 전송하는 로그인 화면으면 그들은 그것을 떠나 유휴 상태에 대한됩니다.

나는 그림에 나는 이렇게 자바 스크립트로 연결하는 청취자의 클릭수,마우스 움직임과 열쇠 파이 나는 걱정이 장난으로 다른 스크립트가 있습니다.

어떤 방법이 있나요?

도움이 되었습니까?

해결책

첫째,이를 효과적이,당신이 있는지 확인해야 사용자가 로그에 밖으로 서버의 끝에서 이 수 있습니다.그렇지 않으면 아무것도 당신이 클라이언트 측에서 효과적입니다.만약 당신이 그들을 보내면 로그인 페이지,그냥 단추를 클릭하십시오.

두 번째,전통적인 방법을 사용하는 것이"메타 새로 고침"태그입니다.이 페이지:

<meta http-equiv="refresh" content="900;url=http://example.com/login"/>

보낼 것입니다 그들의 로그인 페이지 15 분 후에(900 초)입니다.이 것이 그들을 보내가 있는 경우에도 그들이 뭔가 하 고 있습니다.지 않을 감지하는 활동입니다.그것은 단지 알고 얼마나 오래 페이지에 브라우저입니다.이것은 일반적으로 충분히 좋기 때문에 사람들이 가지고 가지 않 15 분 소요 페이지에서(stackoverflow.com 은 주목할 만한 예외 나는 생각한다.)

당신이 정말로 감지하는 데 필요한 활동이 페이지에서,나는 당신의 첫 번째 본능이 올바른 것입니다.당신이해야 할 것 이벤트 처리기를 추가하는 여러 가지입니다.에 대해 걱정하는 경우로 장난 다른 스크립트에 대한 유효성 검증 또는 다른 것들,당신을 봐야 하는 이벤트를 추가하 핸들러 프로그래밍 방식으로 보다는 오히려 인라인 요소입니다.즉,사용하는 대신

<input type="text" onClick="doSomething;">

액세스 객체 모델과 직접

Mozilla way:   element.addEventListener('click' ...)
Microsoft way: element.attachEvent('onclick' ...) 

고 있는지 확인 후,당신이 통과 함께 이벤트를 받은 후에 그들에게서 기존의 코드는 여전히 모든 것을(유효성 검사?) 그것입니다.

http://www.quirksmode.org/js/introevents.html 급 작성에 이렇게 하는 방법.

--
bmb

다른 팁

할 수 있습만을 로그아웃하는 경우 사용자지 않는 페이지를 변경 후에 너무 오래입니다.는 천사 배우 코스 시스템을 할 것 같다.

다른 문제가 당신은 얼굴,하지만,몇몇 사용자 JavaScript.

할 수 있는 경우를 넣어 코드 페이지에서 다음 두 가지 사항이 있습니다:

  • Javascript 찾 마우스 움직임,키보드,활동과 스크롤입니다.
  • 어 리 html-에 있는 경우에는 해당 페이지 이상 X 분 것이 자동으로 리다이렉트 로그인 페이지.

할 수 있는 경우만을 넣어는 서버에서 코드:

  • 유지 세션(쿠키 또는 다른)에 트랙을 얼마나 사이에 페이지를 변경합니다.만약 페이지를 요청보다 더 X 분부터 마지막 요청을 제공하지 않습니 요청된 페이지를 제공하의 로그인 페이지입니다.

당신이 사용할 수 있는 메타 새로 고침하고 서버 기술을 함께합니다.이 페이지를 새로 고쳐집니다 가"당신의 세션에 대한 로 이동하려면 여기를 클릭하십시오 다시 작업을 계속 내에서 30 초이다."

버튼을 클릭정의 서버의 세션을 수행한 페이지를 다시 기능 데이터들은(대부분의 브라우저에서)여전히 있을 것입니다.이 필요합에서 자바스크립트의 페이지를 새로 고침하지만,없음에는 원래 페이지만 메타 새로 고칩니다.Javascript 활동을 추적하는 것이 가장 좋은 생각이다.

-Adam

부하 이벤트한 페이지를 사용할 수 있습 setTimeout 화 기능을 사용자에게 경고하는 것입 로그아웃하지 않는 경우 페이지를 새로 고칩니다.

으로 5 분 세션 시간 제한 할 수 있다고 경고 후 4 분:

setTimeout(timeoutWarning, 240000);

function timeoutWarning() {
  if(confirm('You have been idle for a while.  Would you like to remain logged in?'))
    window.location.refresh();
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top