gpt4 book ai didi

authentication - 站点如何安全地支持 http(非 SSL) session ?

转载 作者:行者123 更新时间:2023-12-04 08:26:35 24 4
gpt4 key购买 nike

我注意到,某些网站(例如 gmail)允许用户通过 https 进行身份验证,然后切换到带有非安全 cookie 的 http 以用于该网站的主要用途。

怎么可能对 session 进行 http 访问但仍然安全?或者它不安全,因此这就是 gmail 提供使用 https 保护整个 session 安全的选项的原因?

请举例说明其工作原理以及如何避免 session 劫持攻击,同时仍然允许通过 http 访问经过身份验证的内容。我希望能够在安全的情况下实现这样的方案,以避免出于性能原因而必须将整个站点设为 https。

最佳答案

正如 Thilo 所说,但我会进一步解释一下:)

网络服务器是无状态的!这确实是身份验证案例的问题。您不能只是登录,然后说“从现在开始,该用户已登录” - 您需要某种方法来识别这次请求新站点的用户。

实现此目的的常见方法是实现 session 。如果您在登录时对网络流量进行数据包嗅探,然后浏览网站,您通常会注意到如下内容:

登录:您将您的用户名和密码传输到服务器。完全未加密! (SSL/HTTPS 将为您加密此请求,以避免中间人攻击)

响应:您将收到一个随机生成的字符串,其中包含许多奇怪的字符。这些通常会存储在 cookie 中。

仅您有权访问的某个站点的请求:您将随机生成的字符串传输到服务器。服务器将查找该字符串,并查看它是否与您的 session 相关联。这允许服务器识别您的身份,并授予您访问您网站的权限。

.. 现在,HTTP 本身并不安全。这意味着您的密码和 session cookie(随机生成的字符串)将完全不加密地传输。如果有人可以访问您的流量(通过木马、路由器劫持等),如果您没有使用 HTTPS,他将能够在您登录时看到您的用户名/密码。这将授予他访问您网站的权限,直到您更改密码为止(除非他先更改密码:P)。在其余的请求中,他将能够获取您的 session cookie,这意味着他可以在该 cookie 生命周期的其余时间内窃取您的身份(直到您注销,或者 session 在服务器上过期)。

如果您想感到安全,请使用 HTTPS。但实际上,通过社会工程将键盘记录器植入您的计算机比读取您的所有流量要容易得多:)

(或者正如其他人指出的那样,使用跨站点脚本来读取您的 session cookie)

关于authentication - 站点如何安全地支持 http(非 SSL) session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/733564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com