Security 会话ID-包含数据或对数据的引用?

Security 会话ID-包含数据或对数据的引用?,security,web-applications,cookies,asp.net-web-api,sessionid,Security,Web Applications,Cookies,Asp.net Web Api,Sessionid,我希望您能深入了解Web应用程序的“会话ID” 你认为以下哪一项是最好的: 包含以下内容的会话ID: {data:{user\u id:?,auth\u user\u agent:?,auth\u ip,,,expires:unix\u time},签名:{“data's signature”}加密后base64ed=>发送给用户 引用缓存中数据的随机会话ID 引用数据库中数据的随机会话ID 我在这里关注性能和安全性 底线是哪一个更好(解密和验证签名)、从缓存中检索或执行数据库连接、检索数据等。

我希望您能深入了解Web应用程序的“会话ID”

你认为以下哪一项是最好的:

  • 包含以下内容的会话ID:
    {data:{user\u id:?,auth\u user\u agent:?,auth\u ip,,,expires:unix\u time},签名:{“data's signature”}
    加密后base64ed=>发送给用户
  • 引用缓存中数据的随机会话ID
  • 引用数据库中数据的随机会话ID
  • 我在这里关注性能和安全性


    底线是哪一个更好(解密和验证签名)、从缓存中检索或执行数据库连接、检索数据等。

    使用随机值从快速非关系缓存(如memcached)中获取数据要快得多,并且比在浏览器发出的每个HTTP请求中传输此信息消耗更少的资源。浏览器最终会将此会话状态发送到不必要的文件,如CSS、图像等静态连接。这种会话管理方法会给服务器的每个客户端请求增加不必要的开销


    它不太安全,因为即使它是加密的,也没有什么是完美的。除非您是一名密码专家,否则请避免使用加密不惜一切代价

    使用随机值从快速非关系缓存(如memcached)中获取数据,这比在浏览器发出的每个HTTP请求中传输此信息要快得多,并且消耗的资源更少。浏览器最终会将此会话状态发送到不必要的文件,如CSS、图像等静态连接。这种会话管理方法会给服务器的每个客户端请求增加不必要的开销

    它不太安全,因为即使它是加密的,也没有什么是完美的。除非您是密码专家,否则请避免不惜一切代价使用加密