登陸功能的記住我選項(Cookie和Session)


會話跟蹤是Web程序中常用的技術,用來跟蹤用戶的整個會話。常用的會話跟蹤技術是CookieSession

Cookie通過在客戶端記錄信息確定用戶身份,常用於登陸時的記住我選項,只要不清除cookie,那么用戶以后重啟電腦也不用在輸入用戶名和密碼進行登陸。

Session通過在服務器端記錄信息確定用戶身份,與Cookie不同,Session常用於臨時會話,關閉瀏覽器后就失效了,需要再次登陸。

 

如下,我們創建一個唯一的隨機數(用於每個用戶的唯一標識保證),名字叫auth_token,所以下面查看會話保持時間的時候我們可以看到這個字段:

這個字段是session那么表示是唯一標識保存在服務器----關閉瀏覽器就清除的臨時會話,關閉瀏覽器之后就需要重新登陸;

若是具體日期比如2036那么表示cookie保存在客戶端,直到2036年才需要重新登錄;

 

如下:

不選記住我,那么就是session,也就是臨時會話,保存在服務器,退出瀏覽器后需要重新登陸

選擇記住我,那么就是保存在客戶端也就是瀏覽器,可以看到過期時間

 

來登錄一下試試,如果不勾選 " remember me ",如下登陸可以看到auth_token這個用戶登錄的唯一標識的Expires(也就是過期時間)是session,所以退出瀏覽器后就清除登錄。

 

 

而勾選了" remember me "之后,如下過期時間是2036年,因為railscookies機制默認過期是20年后;也就是只要我們不清除cookie那么我們訪問該網站默認就登錄了,20年間我們不需要再次登錄。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM