我正在编写一个“记住我”的登录表单,到目前为止,我读过的教程(部分是为了确保我做对了)都说将加密的密码存储在一个 cookie 中与用户名。然后,每次 PHP 检查当前用户是否未登录时,检查他们的 cookie 并查找这些值。如果用户名与密码匹配,您就进入了。
对我来说,这是一个巨大的安全漏洞。如果有人要破解数据库或以某种方式访问加密密码,他们甚至不需要破解它们。只需设置您自己的 cookie 即可。我是正确的,还是只是偏执?
我的登录系统使用会话来跟踪当前用户 ID,并使用 1/0 进行快速登录/注销检查。用户无法编辑会话 AFAIK,因此这是安全的(如果不是,请告诉我)。我正在考虑将会话 ID 存储在 cookie 中,以便稍后恢复它,但这也不安全。
我非常关心用户的安全,我怎样才能在保持网站正常运行的同时正确保护他们的信息?