Cookies 如何在CouchDB中使用户令牌无效?

Cookies 如何在CouchDB中使用户令牌无效?,cookies,couchdb,Cookies,Couchdb,有关删除用户cookie的官方文档说明如下: 删除/\u会话 通过指示浏览器清除cookie来关闭用户会话。从服务器的角度来看,这不会使会话无效,因为CouchDB Cookie是无状态的,因此无法做到这一点。这意味着从客户端的角度来看,调用该端点是完全可选的,并且它不能防止会话cookie被盗 我可以在客户端上使cookie无效,但是如果有人虹吸AuthSession=123abc并在安静的情况下使用它会怎么样?这不是一个安全问题吗 我想知道如何避免这种行为并真正销毁cookie,因为我希望

有关删除用户cookie的官方文档说明如下:

删除/\u会话

通过指示浏览器清除cookie来关闭用户会话。从服务器的角度来看,这不会使会话无效,因为CouchDB Cookie是无状态的,因此无法做到这一点。这意味着从客户端的角度来看,调用该端点是完全可选的,并且它不能防止会话cookie被盗

我可以在客户端上使cookie无效,但是如果有人虹吸
AuthSession=123abc
并在安静的情况下使用它会怎么样?这不是一个安全问题吗


我想知道如何避免这种行为并真正销毁cookie,因为我希望有一个带有CouchDB的安全应用程序

我肯定我以前已经回答过这个问题,但我找不到重复的问题,所以还是这样:

cookie是用户登录名、创建cookie的时间、用户密码和服务器密码的简单散列

这意味着要使现有cookie无效,您必须等待足够的时间,以通过创建的时间戳在过去足够长的时间,从而认为cookie无效,或者更改哈希的其他部分之一

实际上,这通常意味着这是不可能的,因为:

  • 更改用户名意味着用户将无法再登录
  • 更改用户的密码也意味着用户不能再登录,除非您还存储用户的明文密码,以便可以重新计算其密码哈希。(可能是个坏主意)
  • 更改服务器机密将使所有会话对所有用户无效,而不仅仅是目标用户

  • 如果应用程序很难要求使活动会话无效,那么最好在处理身份验证并用于与CouchDB交互的反向代理服务器中执行此操作。

    非常清楚答案Flimzy!我猜你是指这篇文章。我真的不知道这是否真的是我的应用程序的一个硬要求。对于我这样一个外行来说,CouchDB并没有提供一个合适的机制似乎是幼稚的。同时,我理解你的解释。也许我必须实现JWT Auth或者按照您的建议使用反向代理。谢谢@马吉拉诺:这个问题是相似的;我敢肯定,一两个月前我也回答了一个关于无效会话的问题。祝你好运