HTTP Cookie的替代品?

zen*_*ngr 13 cookies

他们说Cookies很糟糕.我个人认为应该有一种"更聪明"的方式来检测Web应用程序上的用户状态.

比如,目前这是它在xyz.com有许多池和服务器(我知道)的分布式环境中的工作原理:

  1. 用户登录xyz.com
  2. xyz.com的登录模块在客户端的本地计算机上删除了cookie.
  3. 现在,当客户端转到xyz.com的Feature1时,feature1池会检查本地cookie,如果找到它并且它没有过期,则Feature1会认为客户端是好的并允许他进入.

因此,由于登录模块丢弃了cookie,feature1盲目信任客户端.

但是我觉得在第3阶段存在一个根本性的缺陷.如果黑客克隆了cookie并尝试做某事怎么办?(这是黑客试图做的第一个明显的事情,cookie嗅探)

那么,有没有替代方案呢? - 网络存储,闪存存储对象将来如何做?或饼干将统治?

不寻找明显的答案,因为没有.我对接近这个探索的不同观点感兴趣.

谢谢

Dav*_*ann 6

我相信来自谷歌和/或此链接的此资源中的信息将帮助您找到在客户端保存信息的替代方法.

基本上......有4种不同的方法可以在不使用cookie的情况下在客户端存储数据:

  1. Web SQL(我最喜欢的,它不会过时)
  2. IndexedDB(另一个具有不同结构和接受度的数据库)
  3. Web存储(会话和本地键/值对)
  4. 应用程序缓存(WebApps文件)

我相信,根据您的特定需求,Web Storage Local对是正确的解决方案.

  • 请注意,使用localStorage和sessionStorage时,页面上运行的所有Javascript脚本都可以访问它。因此,放置安全凭证(令牌,用户名,密码或其他内容)并不是最好的主意。更多信息:https://dev.to/rdegges/please-stop-using-local-storage-1i04 (2认同)

小智 1

REST的基本原则之一,我的意思是真正的 REST不是在服务器上存储状态,如果服务器上没有状态,则不需要使用 cookie 作为查找该状态的键。

  • @makerofthings7,您在每个请求上传递凭据,这是状态的一部分,如果您认为需要 cookie 来保证安全,那么您不了解 **无状态** 意味着什么或安全身份验证。SSL 等端到端加密(而非 cookie)可以确保安全。 (4认同)
  • @makerofthings7,您将从阅读理解中学到更多,而不是争论没有任何事实依据的观点。我试图解释你混淆了多个不相关的事情,并且你更感兴趣的是基于不完整的理解来争论你的有缺陷的观点。对状态进行编码的方法有很多种,cookies 是最糟糕的一种。祝你好运。 (3认同)