一般的做法是cookie裡面存帳號密碼 但是這樣不安全 有沒安全的做法呢
光阴似箭催人老,日月如移越少年。
首先,登入成功了之後,隨機產生一個MD5的hash值token(32位元或64位元);
然後,把這個token存入目前使用者的表,然後給這個使用者增加一個token欄位和last_login_time欄位;
把這個token返回讓瀏覽器的cookie存儲,設定一個最長時常,例如30天;
這三個流程的主要作用就是,last_login_time可以檢查過期時間,過期時間到了之後,就更新這個token,另外,只要用戶透過這個token登入成功就進行更新token,這樣就能盡可能的保證安全。
每次使用者造訪網站的時候,檢查cookie裡是否有token,如果有token就去資料庫查詢數據,如果查到就直接登入成功了,也就省去了使用者名稱和密碼驗證登入的階段。
整套思想是這樣,你也可以讓前端把token存入localstorage
用jwt token的方式,瀏覽器的存token。
具體可以看看下面兩篇文章
jwt-vs-oauth-authentication , jwt
不要用cookie存帳戶密碼,存一個記住登陸的flag,最後是與上次登陸的時間, 以及生成的key, 拼成一個加密串。然後存到cookie中。 然後每次登陸的時候查看是否有這個cookie.有的話進行解密。然後可以解決這個串進行校檢。如果正常直接給予登陸即可。
cookie是將密碼放到本地,session是將密碼放在伺服器。相對來說session比較安全。但是cookie處理的好的話也是很安全的。
首先,登入成功了之後,隨機產生一個MD5的hash值token(32位元或64位元);
然後,把這個token存入目前使用者的表,然後給這個使用者增加一個token欄位和last_login_time欄位;
把這個token返回讓瀏覽器的cookie存儲,設定一個最長時常,例如30天;
這三個流程的主要作用就是,last_login_time可以檢查過期時間,過期時間到了之後,就更新這個token,另外,只要用戶透過這個token登入成功就進行更新token,這樣就能盡可能的保證安全。
每次使用者造訪網站的時候,檢查cookie裡是否有token,如果有token就去資料庫查詢數據,如果查到就直接登入成功了,也就省去了使用者名稱和密碼驗證登入的階段。
整套思想是這樣,你也可以讓前端把token存入localstorage
用jwt token的方式,瀏覽器的存token。
具體可以看看下面兩篇文章
jwt-vs-oauth-authentication , jwt
不要用cookie存帳戶密碼,存一個記住登陸的flag,最後是與上次登陸的時間, 以及生成的key, 拼成一個加密串。然後存到cookie中。
然後每次登陸的時候查看是否有這個cookie.有的話進行解密。然後可以解決這個串進行校檢。如果正常直接給予登陸即可。
cookie是將密碼放到本地,session是將密碼放在伺服器。相對來說session比較安全。但是cookie處理的好的話也是很安全的。