是否安全检查用户是否使用cookie登录?

时间:2012-11-09 17:11:33

标签: php security

在我正在开发的网站上,我正在检查用户是否已登录,如果已设置cookie。问题是我正在将这些信息用于数据库上的某些请求,并允许他在网站上执行某些任务。虽然,我想到如果用户编辑其cookie,他可能能够成为其他人(编辑它的用户名/ id)。那么,有没有办法保护它或我必须使用会话?

2 个答案:

答案 0 :(得分:5)

是的,您可以使用cookies。您只需确保cookie提供可用于对用户进行身份验证的数据,而不是表示用户 进行身份验证的令牌。

错误的cookie:

username=foo,logged_in=true

好饼干:

token=uifhjrjf4093jf3904j90j390kf934j8438j0493jf9034

然后将身份验证数据与服务器上的数据存储区进行比较。

  

我必须使用会话吗?

会话是一种临时存储用户(可能会或可能不会通过身份验证)的方法。它们是解决部分问题的快速简便方法,而不是应该引起 的反应的东西吗? :(

大多数会话库使用cookie来存储令牌,该令牌将与会话关联的数据集合链接到会话所属的浏览器。

答案 1 :(得分:2)

我通常做的是在cookie中提供随机哈希,然后将其指向数据库表,在该数据库表中我存储完整的浏览器字符串,生存时间,最后访问时间,用户名和哈希密码(为了比较,如果用户因为被盗用而更改了密码,这将使除了更改密码的会话之外的所有其他会话无效。

相关问题