如何跟踪用户对多个内容的访问权限?

时间:2012-02-24 20:17:59

标签: database cookies

我正在创建一个网站,其中的内容将存储在几个不同的杂志上。用户将使用问题和答案来访问该杂志。

一旦他们被授予访问权限,我希望他们能够在一段时间内继续访问。

我认为数据库表可以存储cookie_id,issue_id和expiration。当用户访问他们的第一个问题时,cookie将存储在包含新的唯一ID的计算机上。该唯一ID,他们刚刚访问的内容的问题ID以及到期日期都存储在数据库中。

如果他们访问另一个问题,则会创建一个新的数据库条目,但会重新使用cookie ID。

当他们返回网站时,cookie用于提取所有相关的数据库条目,并允许用户重新访问这些文章,直到它们过期。

有更聪明的方法吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

Cookie的问题在于它们可能被删除或损坏(两者都不太可能,但可能)。

但是,你的解决方案基本上就是我要做的。

这就是我要做的......

当他们登录时,将使用他们的用户ID设置cookie(如果需要可以加密)。我不会使用任何日期/时间/随机值的集合,因为每次用户返回时这些值很可能不同。

在后续页面上检查是否设置了 cookie id(可能保存数据库查询 - 如果您不需要提取其他用户信息 - 从而减少服务器上的负载)。

我会使用数据库表并使用他们的userid作为参考,以便进一步访问以获取先前的问题。如果有(或将来)许多用户考虑将所有信息放入数据库中的一个记录并以指定的格式插入数据,例如 issue1:date1,issue2:date2等。这只需要1 db查询来更新以添加,更新和/或删除条目。

然而,为此我可能会认真检查HTML5的本地存储解决方案 - 我还没有检查过使用它还是支持它的程度。