-1

我看到很多开源网站,它使用不同的方法来记住他们的登录用户,有些只使用 cookie,有些使用 cookie 和数据库。每种方法之间有什么区别?什么是最好的使用方法?

我认为有安全原因,有人可以帮我理解吗?

4

4 回答 4

1

所有“记住我”功能都需要 cookie 或其他方式在用户计算机上留下一些信息,以便您以后识别他/她。然后,您将获取这些信息,这些信息将帮助您识别服务器上的用户,并执行任何您必须做的事情来将他/她重新登录到您的系统中。

于 2013-03-02T04:45:51.133 回答
1

要记住用户,在他们的访问中,您必须使用 cookie。数据库无法做到这一点。

会话变量只持续一个会话。例如,如果您使用会话变量,那么您第二天就不会“记住”用户。

您需要 DB 以永久方式存储有关用户的信息。“记住我”功能本身不需要它。例如,如果您只需要知道用户的姓名,不妨将其存储在 cookie 本身中。当用户回来时,名称就在 cookie 中,可以用来说“欢迎 foo”。但是,如果页面是例如电子邮件客户端,那么您不可能将所有用户的电子邮件存储在 cookie 中;并不是说无论如何它都有意义。在这种情况下,您将从 cookie 中获取登录凭据,标记用户已登录,然后进入数据库以获取他们的电子邮件。

于 2013-03-06T11:27:18.357 回答
0

Cookies 不会更新,否则 Sessions 会更新,所以我认为记住用户的最佳方法是通过 Session id 和数据库

于 2013-03-02T04:49:06.020 回答
0

Cookie 速度更快,因为它们本地存储在用户的计算机上。

数据库要求您在服务器上建立连接以获取数据。

您应该查看这个问题以获得更全面的指南。

于 2013-03-02T04:40:56.797 回答