提高COOKIE的安全性--相关解决方案
网络上常见方案是:
给Cookies加个加密算法。 给Cookies加个时间戳和IP戳,实际就是让Cookies在同个IP下多少时间内失效。
最终使用MD5来MAC签名防止篡改……但这样仍然可以看到明文信息,有一定不安全之处。
我的方案是
cookie==3des(“值,时间,IP戳”); 最终得到的COOKIE是这样的:3BD1B32614A528EA
使用3DES来加密,这样保证客户端没有明文……。
服务端检查的时候,再解密出来值,时间,IP戳,并检查过期时间与IP……不符的需要清空此COOKIE,转向登录页面..
这样解决了几个问题
1.客户端COOKIE无明文,得到不任何有用信息……如果使用MD5签名,客户端势必有明文。
2.无法篡改,一旦篡改后在服务端解密的时候就会出错……防止了暴力破解
3.在网络被截获后,也无法使用,因为有IP戳……且IP是加密的,无法看到明文,所以也无法使用伪造IP的方式
4.之所以在客户端存放IP戳,可以使得其在多台电脑上存放COOKIE,如果放在服务端,则只能一台电脑用COOKIE登录了,影响用户体验,且浪费性能查询数据库……
本文提出了一种利用3DES加密算法加密Cookie的方法,通过在客户端加密“值、时间、IP戳”,确保Cookie的安全性。这种方法不仅避免了客户端明文信息的泄露,还能够有效防止Cookie被篡改和暴力破解,同时支持多设备登录,提升了用户体验。
4558

被折叠的 条评论
为什么被折叠?



