会话和cookie究竟如何结合,在请求发送到服务器时识别正确的用户

Kan*_*iya 4 php cookies session

您好,我知道会话位于服务器端,当用户登录到站点时,我们会创建一个会话并在该会话中存储用户数据,并且该会话 ID 是唯一的。如果多个用户登录到同一服务器,则创建具有唯一会话 ID\xe2\x80\x99s 的会话。

\n\n

cookie是服务器嵌入到用户计算机上的一个小文件。每次同一台计算机使用浏览器请求页面时。

\n\n
\n

在浏览器 cookie 中,我看到了名为 \n 的变量,SID 这些SSID变量是指服务器会话 ID ???

\n
\n\n

或者

\n\n
\n

根据 cookie 的哪些参数,会话可以识别出这是正确的用户。

\n
\n\n

**当我向服务器发送请求时

\n\n

cookie 中的那些 id 与服务器会话 id 匹配吗?

\n\n
\n

我的问题是服务器如何知道这是正确的用户?

\n
\n\n

我有会话和cookie的想法,但它们的组合尚不清楚。

\n\n

其实我已经搜索了很长时间了,我问了我的朋友,他们似乎也对此没有清楚的了解

\n\n

请解释一下场景,提前致谢。

\n

Ree*_*ube 5

这就是重点,服务器无法知道这一点。

更详细:

服务器生成一个唯一的 id,然后将此 id 发送到客户端,客户端将此 id 存储在他的 cookie 中,对于客户端发送他的 id 的每个请求,服务器知道他必须为该用户采取哪个会话,但问题是也就是说,如果其他人因为正在侦听网络流量而知道该 id,则他可以使用会话 id,并且服务器会认为这是与以前相同的客户端,并且他将采用与以前相同的会话。这称为会话劫持

为了防止这种情况,您必须存储每个会话密钥的 IP 地址,并检查它们是否匹配,但如果发生这种情况,就不能100% 确定,因为如果客户端位于NAT 安全网络中,并且攻击者也位于同一网络中,那么它们就会“服务器的IP地址相同,服务器无法区分攻击者和客户端

请遵循本教程,让您的会话更加安全。

  • *您必须存储每个会话密钥的 IP 地址并检查它们是否匹配*,然后等待来自试图从负载平衡代理后面访问该站点的愤怒客户端的呼叫。 (2认同)
  • 我的观点是,在某些情况下,客户端的 IP 可能会因完全正当的原因而随每个请求而更改,因此在初始化会话时声明您“必须”使用 IP 检查只是一个糟糕的建议。如果您不介意让某些人无法使用您的网站,您*可以*这样做。 (2认同)