长期的cookie

时间:2009-11-20 00:40:10

标签: cookies login-control

我正在寻找一种方法让用户能够轻松连接到我的应用程序,但很少。我想要做的是能够在用户的计算机上存储1年的cookie。如果他们在cookie处于活动状态时访问网站,他们将自动登录。

我建议的解决方案是:在初次登录时,创建一个包含用户IP地址,上次登录日期和随机数的cookie,所有这些都是一起散列的。我也会将他们的用户ID和IP地址存储在cookie中。这些值也将存储在数据库中。如果几个月后他们再次访问该站点,IP地址,ID和哈希值与数据库中的值匹配,那么它们将自动登录。计算新的哈希值。如果其中任何一个不匹配,则会提示用户再次登录。

此设计是否存在明显的安全漏洞?我不担心IP地址的变化,这将是大学校园里的教授。

提前致谢, --Dave

3 个答案:

答案 0 :(得分:1)

您的问题并没有说清楚这个系统与任何其他标准的长寿命cookie有何不同。这些都是在网上使用而没有明显的安全问题,所以我认为没有理由你也不能以类似的方式使用cookie。

答案 1 :(得分:0)

  

是否存在明显的安全漏洞   这个设计?

没有

答案 2 :(得分:0)

我会说,如果有人找出系统,那肯定是一种安全风险。说实话,我会重新考虑这个设置,至少将它存储在数据库部分中。更不用说饼干很少在某人的电脑上停留一年这一事实,大多数人更频繁地清理它们。

但是既然你问过,创建它很容易:

$expire = time()+(60*60*24*365);

setcookie("login", "mycookie", $expire, "", "yoursite.com" );

您可以插入您正在谈论的令牌,而不是“mycookie”。希望有所帮助。