2011-08-01 42 views
-1

在创建我的网站时,我被困在了一个东西上。登录后php优化会员

我应该使用$_COOKIE或会话。

我认为使用使用$_COOKIE会更好。

但是,我应该在Cookie中存储用户的用户名或用户的唯一ID?

多少时间我应该把cookie的时间?

我应该转发每一页还是不同的相同时间?如果不同,那么多少?

回答

0

它最终归结为您的网站/应用程序是否需要无状态。 (见Webservices are stateless?)。它主要是一个设计决策,但我更喜欢无状态的应用程序。

如果这里使用cookies有一些提示:

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

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

+0

那么敏感数据使用什么? – kritya

+0

理想情况下,您应该保持服务器端的敏感数据,并且只有在身份验证后才提供访问权限。你需要存储什么样的数据? – phindmarsh

+0

相同的用户登录信息 – kritya

0

您尚未提供任何有关您选择数据基底的原因的信息,也没有提供任何有关您想要实现的内容的信息(“登录后优化php会员” - 无意义的gobbeldy-gook)。

其他我应该使用$ _COOKIE或会话。

Hopw很多数据你试图存储?多长时间?你是否需要在没有会话的情况下访问?如果是这样,数据需要可用?用户更改网站数据的影响是什么?

但是,我应该在cookie中存储用户的用户名或用户的唯一ID?

既不 - 如果您的网站相信在cookies中断言,那么黑客攻击您的网站就像更改cookie值一样简单。

+0

然后用什么来存储userdata? – kritya