检查用户是否已登录

时间:2011-12-20 16:01:19

标签: php security

我正在尝试建立一个基于PHP的安全登录系统,但遇到了一些我不确定如何处理的问题。

用户登录后,检查他们是否在后续页面登录的最佳方法是什么?目前我正在设置会话变量但是我应该使用其他方法吗?我应该在每次登录时生成一个唯一的ID,如果是这样,我将如何使用它?将副本存储在数据库&作为cookie并在每个页面加载时比较它们?或者你们可以想到的任何其他方法。

提前谢谢大家。

1 个答案:

答案 0 :(得分:1)

我不使用会话方法,但如果您想要非常安全(防止会话劫持),您可以将当前IP和用户的一些其他特征与会话ID一起保存在数据库中的MD5哈希中。然后,在登录后打开页面时,您可以使用客户端属性重新生成MD5哈希,并使用数据库中的会话ID进行检查。这样,劫持一个会话就更难了,如果不是不可能的话。当然必须删除“mysql会话”,或者在任何情况下都不会重复使用,因为用户可能会更改计算机等,但它会阻止劫持活动会话。