提升COOKIE的安全性--相關解決方案
網絡上常見方案是:
給Cookies加個加密算法。 給Cookies加個時間戳和IP戳,實際就是讓Cookies在同個IP下多少時間內失效。
最終使用MD5來MAC簽名防止篡改……但這樣仍然能夠看到明文信息,有必定不安全之處。算法
個人方案是數據庫
cookie==3des(「值,時間,IP戳」); 最終獲得的COOKIE是這樣的:3BD1B32614A528EA安全
使用3DES來加密,這樣保證客戶端沒有明文……。cookie
服務端檢查的時候,再解密出來值,時間,IP戳,並檢查過時時間與IP……不符的須要清空此COOKIE,轉向登陸頁面..網絡
這樣解決了幾個問題
1.客戶端COOKIE無明文,獲得不任何有用信息……若是使用MD5簽名,客戶端勢必有明文。
2.沒法篡改,一旦篡改後在服務端解密的時候就會出錯……防止了暴力破解
3.在網絡被截獲後,也沒法使用,由於有IP戳……且IP是加密的,沒法看到明文,因此也沒法使用僞造IP的方式
4.之因此在客戶端存放IP戳,能夠使得其在多臺電腦上存放COOKIE,若是放在服務端,則只能一臺電腦用COOKIE登陸了,影響用戶體驗,且浪費性能查詢數據庫……
ide