程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 浏覽器關閉使session失效的問題多種解決方式

浏覽器關閉使session失效的問題多種解決方式

編輯:更多關於編程
    直接關閉浏覽器(或者強制關閉浏覽器進程、死機等),服務器無法處理用戶退出網站的請求,此舉將會導致session失效,下面整理了一些解決方法,感興趣的朋友可以參考下哈  

    如果用戶不點擊網站的“退出”鏈接,而直接關閉浏覽器(或者強制關閉浏覽器進程、死機等),服務器無法處理用戶退出網站的請求,解決方式如下:

    方式1:在每個頁面中加入隱藏的IFrame,以異步刷新的方式定期刷新iframe頁面,如每隔10S刷新一次,當服務器在一定的時間內未收到用戶的刷新請求,則認為用戶已經退出
    優點:能在短時間內判斷出用戶是否已經退出 缺點:增加用戶請求次數,所消耗的服務器資源較大

    方式2:使用cookie保存用戶登錄信息,不要設置cookie的過期時間,當關閉浏覽器時,cookie會自動過期
    優點:處理方便 缺點:用戶浏覽器不一定支持cookie,也就無法實現該方式

    方式3:在頁面中添加onunload事件,當關閉浏覽器時,自動跳轉到“退出”頁面(loginout.action)
    優點:退出時,能及時進行處理 缺點:當用戶打開多個頁面時,關閉任何一個頁面都有可能導致用戶的退出

    方式4:記錄用戶的每次操作時間(包括頁面刷新、提交表單等),在數據庫中用作業每隔一段時間檢查上次的操作時間,當操作時間大於一定的數值時,就認為該用戶已經退出
    優點:無論哪種非正常退出,都能夠進行處理 缺點:進行檢查的時間間隔不容易確定,如果用戶在線,當長時間未操作,也會認為用戶已經退出

    方式5:等待session失效
    優點:你可以不用做任何工作 缺點:用戶可以在你等待的這段時間內重新登錄。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved