zoukankan      html  css  js  c++  java
  • 提高COOKIE的安全性--相关解决方案


    提高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登录了,影响用户体验,且浪费性能查询数据库……

  • 相关阅读:
    封装

    如何通过命令行窗口查看sqlite数据库文件
    标签控件
    信息提示框
    循环
    数组
    switch
    成员局部变量
    变量
  • 原文地址:https://www.cnblogs.com/attilax/p/15200006.html
Copyright © 2011-2022 走看看