我有一个客户可以登录的网站。他们的用户名、加密密码和一些附加信息存储在服务器上的 SQL 数据库中。我正在设置一个 cookie 来提醒用户几天。
出于安全原因,我到处都读到我不应该在 cookie 中保存用户名和密码。我不得不说我不确定为什么。 cookie 存储在客户端,对吗?这样他能看到的就是他的用户名和密码,这有什么不安全的?
无论如何,我很确定有充分的理由,只是我看不到,我读到解决方案是这样做的:
- 散列并加密密码
- 将登录信息存储到服务器上的一个文件中
- 给文件一个唯一的名字
- 将名称存储到 cookie 中
- 每次您收到具有正确文件名的 cookie 时,查找该文件并检索登录信息。
所以我应该生成一个唯一的 ID 以存储在我的数据库中并将其与用户相关联。
我怎样才能做到这一点?
最佳答案
您不需要存储用户名和密码。您可以改为存储具有到期日期的 session key (保存在数据库中)。
如果您在本地存储用户名和密码,如果用户在家,这不是什么大问题,但如果用户不在家怎么办?如果用户不在他自己的计算机上怎么办?
即使加密,一些“坏人”也能得到它。
关于javascript - 关于登录 cookie 的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29843543/