Session 关于会话的简单问题

Session 关于会话的简单问题,session,cookies,state,Session,Cookies,State,我在Ruby的安全页面()中看到了这个示例。它提出了以下设想: 用户收到积分后,该金额存储在会话中(这是一个坏主意,但出于演示目的,我们将这样做) 用户购买了一些东西 他的新的、较低的积分将存储在会话中 用户的黑暗面迫使他从第一步(他复制的)获取cookie,并在浏览器中替换当前cookie 用户已恢复其信用 我有点困惑,因为我总是理解会话cookie的值只是服务器控制的会话状态的标识符。本例说明cookie的状态控制会话的状态,并且服务器上的会话状态会随着时间的推移而保持不变 有人能解释一

我在Ruby的安全页面()中看到了这个示例。它提出了以下设想:

  • 用户收到积分后,该金额存储在会话中(这是一个坏主意,但出于演示目的,我们将这样做)
  • 用户购买了一些东西
  • 他的新的、较低的积分将存储在会话中
  • 用户的黑暗面迫使他从第一步(他复制的)获取cookie,并在浏览器中替换当前cookie
  • 用户已恢复其信用
我有点困惑,因为我总是理解会话cookie的值只是服务器控制的会话状态的标识符。本例说明cookie的状态控制会话的状态,并且服务器上的会话状态会随着时间的推移而保持不变


有人能解释一下吗?谢谢。

这对于服务器端会话是正确的,但是这个例子来自CookieStore会话的2.6重播攻击。CookieStore将通常在服务器端会话中持久化的内容存储在cookie中,并因此存储在客户端上,从而使其不易受到示例中的重播攻击

好的,那么我对常规会话状态的理解是正确的?谢谢。我不知道这个会话是如何在RubyonRails中实现的。但我更愿意说,当使用cookie而不是将数据存储在客户端而不是服务器端的会话时,这是一种攻击场景。