2017-08-01 69 views
0

Web應用程序應該超時一個用戶會話& N分鐘後將其註銷。我不知道N是什麼,或者會話超時註銷機制是如何實現的。如何立即導致會話超時退出?

我想通過立即引起超時來測試會話超時會發生什麼。有沒有辦法對前端進行修改,以便立即導致超時,或者是否需要更改後端以引起即時超時?

+1

如果在超時時間內存在任何安全問題,那麼從前端觸發它就會不夠充分 - 任何具有一定知識的不良行爲者都可能會繞過您正在做的任何事情來觸發即時會話超時。 –

+0

請參閱https://stackoverflow.com/questions/33233152/cannot-clear-session-using-javascript-in-jsp –

回答

0

通常,這應該在後端實現。在大多數Web服務器或App Server上,用戶會話存儲在緩存系統(如memcached或redis)中。當用戶登錄時,我們將會話ID(cookie)存儲到緩存中。同時,您可以在此密鑰上設置到期時間,屆滿後會話ID將從緩存中刪除。

當用戶請求服務器時,該請求將以cookie爲標識會話。你可以在這個時候更新到期時間。當會話超時和密鑰被刪除時,新的請求到來,它將被重定向到登錄頁面。