对于我正在公司工作的项目,已要求将密码保存90天,因此如果用户未超过90天,则只需使用其用户名登录。这是计算机科学部门将您外包给外部公司的其中一项任务。我不知道如何去做,因为它似乎非常不安全。关于如何做到这一点的任何指针?我的第一个想法是使用cookie来保存密码,如果有一个有效的cookie,那么只需要检索密码。
答案 0 :(得分:3)
请不要将密码存放在COOKIE中。
您可以在Cookie中存储其他值,例如[session_id不要使用此] last_login_time。
答案 1 :(得分:2)
您可以创建表USER并在那里为用户存储相关数据。其中一个USER字段将是到期日期。它会是这样的:
USER (
id integer,
fullname varchar(50),
encpassword varchar(20),
email varchar(50),
.... some other fields
expDate date
);
因此,当用户登录时,如果实际日期小于或等于expDate,则您将在桌面上查询,如果是,则让您登录。这样,您可以在不重复用户数据的情况下重新验证用户,只需更改expDate。
正如@raiserle所说,不要将密码存储在COOKIE中,因为cookie仍然存在于客户端计算机上,因此很容易被黑客攻击,允许其他人以其他用户身份登录。
我把字段加密,因为您应该使用一些编码算法来加密用户密码。