我正在为应用程序登录系统,我不确定应该存储哪些信息。目前,我只将用户的ID存储到会话变量中,如果设置了该变量,它将从数据库中加载具有所有必需信息的用户。但是,我也希望有一个“记住我”的选项,我需要使用cookies,而且我不确定要在其中存储什么。如果仅存储用户ID,那将是有风险的,因为有人可能只是更改id并且是不同的用户。我的想法目前是这样做的:
$array = array($user['username'], $user['pass']);
serialize(base64_encode($array));
因此,如果设置了cookie,我会对其进行反序列化,并找到具有密码和用户名的用户(密码本身在MD5中进行哈希处理)。 但是,我认为这不是很安全。我应该在cookie中存储什么才能使其安全,还有其他方法吗?
答案 0 :(得分:1)
不是将密码放在cookie中,而是可以从中创建一个哈希并保存。您还可以将哈希值保存在数据库中,这样在比较cookie时,用户名和哈希值必须匹配,以避免泄露密码。
您可以使用MD5创建一个简单的哈希。