网站地图    收藏   

主页 > 后端 > 网站安全 >

提高COOKIE的安全性--相关解决方案 - 网站安全

来源:自学PHP网    时间:2015-04-17 14:11 作者: 阅读:

[导读] 网络上常见方案是:给Cookies加个加密算法。 给Cookies加个时间戳和IP戳,实际就是让Cookies在同个IP下多少时间内失效。最终使用MD5来MAC签名防止篡改但这样仍然可以看到明文信息,有一定...

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

摘自attilax的专栏

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论