【问题标题】:why most of the website cannot work without cookies?为什么大多数网站没有 cookie 就无法运行?
【发布时间】:2017-04-17 07:55:11
【问题描述】:

最近有人问我为什么我们的网站在没有 cookie 的情况下无法运行。我的解释是我们需要在 cookie 中保存令牌和一些引用,以便稍后我们可以使用它来发出请求,并且我们可以使用限制选项在浏览器中保存数据。但他对我的回答不满意,我也认为有一些选项可以让它工作,而不是使用 cookies/localStorage/sessionStorage。

我的问题是为什么大多数网站没有 cookie 就无法运行?我们可以让网站在浏览器中没有任何存储的情况下运行吗?

【问题讨论】:

    标签: session cookies browser local-storage session-storage


    【解决方案1】:

    使用 cookie 可以让您的网站记住用户(例如上次登录、避免再次登录)并为他们和您提供相应的好处(例如跟踪使用/兴趣、广告)。如果您不想要这些好处,那么您当然可以提供一个不使用 cookie 的网站。如果网站需要登录,他们必须在查看的每个不同页面上登录。

    【讨论】:

    • 想一想。您的服务器如何知道请求来自一分钟前通过“会话”身份验证的用户?它是您在一分钟前进行身份验证时发送给用户浏览器的 cookie,它是由浏览器在下一次请求时发送的,它会告诉您这一点。没有cookies=没有会话了。我想您可能希望来自先前经过身份验证的 IP 地址的请求是同一用户 - 但这也会验证同一 NAT 防火墙后面的每个用户。如今,99.999%(猜猜看!)的用户都在 NAT 防火墙后面。您可以将特定于用户的信息放入 URL 中,就像以前的网站一样。
    • 非常感谢。我了解会话也依赖于 cookie。但是就像你说的那样,存在依赖于 URL 中插入的会话 ID 的无 cookie 会话。就像你提到的。这是一个糟糕的实施吗?还是出于安全原因?
    • 如果其他人可以获取该 URL 并且这是唯一的身份验证,那么他们可以假装是原始用户。另外,cookies 不需要网站来实现所有那些杂乱无章的 url 生成——它们更简单、更有效。这么说来,cookie 无处不在,因为它们是一种有效的解决方案。
    • 谢谢。我觉得我有点烦哈哈。但我真的很想清楚地理解它。因此,如果人们复制 cookie 与复制 URL 不一样吗?那么大家使用 cookie 的主要原因是因为它是一个有效的解决方案?
    • 没有什么是完美的。 Cookie 安全地存储在您的浏览器中,如果用户不删除它们(这应该在从您的网站注销时有效地发生,会话被标记为已关闭,因此 cookie 不能用于验证请求是否是一部分正在进行的会话)然后是的,我可以使用我妻子的 PC 并使用她的浏览器,该浏览器仍然没有注销她的亚马逊 cookie 并使用她的登录名。 Cookie 是通过 SSL 传输的——你可以说是用户特定的 URL,但用户特定的 URL 可以在任何地方使用,cookie 仅存储在用户使用的浏览器中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 2013-06-07
    • 2021-01-11
    • 1970-01-01
    相关资源
    最近更新 更多