每个用户是否只有 1 个会话 ID?

Does each user only have 1 session id?

对于session和cookie的使用,我还是个初学者,不懂这个,所以想请教:

1.每个用户是否只有 1 个会话 ID?

2。什么是会话 ID?

我尝试在会话中存储数据,但是当我尝试存储其他数据时,它有相同的 Session ID。那么我怎么知道这些数据属于谁呢?

我实际上想在 react.js SPA 中使用后端 express 制作购物车。但我不知道如何存储此数据车。到目前为止我所做的我想将数据车保存到一个会话中,例如 product_id and product_variant,然后基于此 Session ID 在数据库中调用此 product_id and product_variant

Correct Me If I'm Wrong. Thanks

您应该生成会话 ID,然后将其存储在数据库中并将其附加到用户 ID。这样,当用户在 website/software.

范围内移动时,您可以通过查找他们的会话 ID 来了解用户

您还可以记录他们的 IP 地址、浏览器信息和访问时间等内容,以使其更加安全 - 让黑客更难劫持他们的会话信息。

此外,我唯一要提的另一件事是您不应该在会话数据中存储私人信息。例如,不要将他们的帐户 ID 存储在会话变量或其 password/email/username/etc 中。如果您依靠会话数据本身来告诉您用户是谁,则可以修改会话数据并访问其他帐户。 encrypted/randomized 会话 ID 可以非常独特,以至于用户几乎不可能合理地欺骗您的服务器以为他们是不同的帐户。所以这就是为什么我们将它们存储在带有附加信息的数据库中,而不是设置其他会话变量。

示例:

在 PHP 中我们可以有 session_id(),但也可以存储 $_SESSION['setting'] 或 $_SESSION['theme_choice'] 等内容一些简单的设置,以防止每次加载页面时都必须在数据库中查找它。