“在这台电脑上记住我”

通过查看Gmail的Cookie,可以轻松查看“记住我”Cookie中存储的内容。 用户名/一次性访问令牌。 在用户名是秘密的情况下,它可以以不同的方式实施。 但无论如何...这件事不是非常高的安全性:你偷了饼干,你准备好了。

然而,我的问题是在功能方面:你什么时候擦掉他们的访问令牌? 如果用户在没有点击另一台机器上的“记住我”的情况下登录,是否应该让所有机器上的访问令牌失效? 我在问,这是如何实施的,以及它应该如何实施。


我经常同时使用2台或3台机器,并在所有机器上“记住我”。 如果其中一人断开了其他非常烦人的人,所以我不会推荐它。

传统上它会使用超时,cookie会在一段时间后(或用户注销时)过期。

这一切都取决于您的安全模型。 如果你正在编写一个内部公司应用程序,你只希望一个用户在一台计算机上,那么你可能希望比gmail有更严格的限制。

另外,请记住拒绝服务的可能性 - 如果一台机器上的某个操作可能会强制另一台机器无法使用,则可能会用于防止合法用户在某些情况下回收控制权。


“持久登录最佳实践”和“持久登录最佳实践”文章是关于如何实现这种功能的绝佳参考。

另请参阅这些StackOverflow问题

  • 为网站实施“记住我”的最佳方式是什么?
  • 网站认证权威指南

  • 从另一台计算机登录不应使与另一台计算机上的cookie关联的登录无效。 但是,如果用户注销或“不是你?在这里登录”,这应该清除用户正在工作的cookie。

    顺便说一句,通过坚持使用https并将其设置为不适用于脚本,可以使窃取cookie变得困难。

    通过将“; HttpOnly”添加到cookie的输出中,这将使cookie不可用于JavaScript

    HTTP/1.1 200 OK
    Cache-Control: private
    Content-Type: text/html; charset=utf-8
    Content-Encoding: gzip
    Vary: Accept-Encoding
    Server: Microsoft-IIS/7.0
    Set-Cookie: ASP.NET_SessionId=ig2fac55; path=/; HttpOnly
    X-AspNet-Version: 2.0.50727
    Set-Cookie: user=t=bfabf0b1c1133a822; path=/; HttpOnly
    X-Powered-By: ASP.NET
    Date: Tue, 26 Aug 2008 10:51:08 GMT
    Content-Length: 2838
    

    你可以阅读更多关于这个

  • 为.Net
  • Firefox支持
  • 杰夫 - 艰难的Codings,让我们去购物
  • 链接地址: http://www.djcxy.com/p/3731.html

    上一篇: "Remember Me On This Computer"

    下一篇: How should I choose an authentication library for CodeIgniter?