PHP优化成员登录后


php optimising members after login

在创建我的网站时,我被一个东西卡住了。

我应该使用$_COOKIE还是会话。

我认为使用$_COOKIE会更好。

但是我应该在cookie中存储什么用户的用户名还是用户的唯一id ?

我应该把cookie的时间往前放多少?

我应该在每个页面上转发相同的时间还是不同的时间?

最终归结为你的网站/应用程序是否需要无状态。(参见web服务是无状态的?)这主要是一个设计决策,但我更喜欢无状态的应用程序。

如果你使用cookie,这里有一些提示:

  • 您希望在cookie中存储能够唯一标识用户的数据,但不能被猜测。
  • 通常将user_idusername(如果用户无法更改它)和随机散列存储在数据库中的行旁边。当涉及到登录用户时,通过用户的user_id加载用户,并检查cookie中的哈希是否与数据库中的哈希匹配。
  • 至于要存储多长时间,这取决于应用程序的性质。如果它包含敏感信息,那么让它持续很长时间可能不是一个好主意。您应该在用户每次请求页面时更新时间,这样如果用户正在使用该网站,他们将在访问期间保持登录状态。

不要将敏感信息放在cookie中,这一点非常重要,因为它们是以纯文本形式存储在用户计算机上的。

您没有提供任何有关您选择数据基板的原因的信息,也没有任何您试图实现的指示("php在登录后优化成员"-是毫无意义的废话)。

我应该使用$_COOKIE还是会话。

你想要存储多少数据?要多久?您需要在没有会话的情况下访问吗?如果是这样,数据是否需要可用?用户在你的网站上更改数据的影响是什么?

但是我应该在cookie中存储什么用户的用户名还是用户的唯一id ?

都不是-如果您的站点相信cookie中的断言,那么入侵您的站点就像更改cookie值一样简单。