2009-11-20 54 views
0

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

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

这个设计是否有任何明显的安全缺陷?我不担心IP地址发生变化,这将是大学校园里的教授。

由于提前, --Dave

回答

0

这个设计是否有明显的安全缺陷 ?

1

你的问题没有说清楚这个系统是如何从其他任何标准的长寿命饼干什么不同。这些在整个网络中使用,没有重大的安全问题,所以我没有理由不能以类似的方式使用cookie。

+0

虽然我完全自学。这是我研究过的一个难题,所以我自己想出了这个概念。如果这是其他人的做法,那么很好。但是,我只是想看看别人是否可以在实施它们之前将我的想法分开。 --Dave – 2009-11-20 05:40:12

0

号我会说这绝对是一个安全隐患,如果有人计算出系统。说实话,我会重新考虑这个设置,至少把它存储在数据库部分。更不用说,cookies几乎很少留在别人的电脑上一年,大多数人更频繁地清理它们。

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

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

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

而不是“的myCookie”你可以插入你在谈论该令牌。希望有所帮助。

+0

大多数人都不知道cookie的存在,更不用说以任何频率清除它们的想法。清除它们的人希望从他们登录的网站中注销。 – 2009-11-20 01:04:23