【问题标题】:Session ID - Containing Data or Reference to Data?会话 ID - 包含数据还是引用数据?
【发布时间】:2013-01-02 02:25:04
【问题描述】:

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

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

  1. 会话 ID 包含以下内容: { data: { user_id: ???, auth_user_agent: ???, auth_ip, ???, expires: unix_time }, signature: { "data's signature" } } 加密然后base64ed => 发送给用户
  2. 随机会话 ID 引用缓存中的数据
  3. 随机会话 ID 引用数据库中的数据

我在这里关注性能和安全性。

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

【问题讨论】:

    标签: security web-applications cookies asp.net-web-api sessionid


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-03-22
      • 2011-10-02
      • 2015-05-01
      • 2011-03-27
      • 1970-01-01
      • 2011-05-20
      • 2015-11-17
      • 2012-02-09
      • 1970-01-01
      相关资源
      最近更新 更多