1

我的网站有登录功能,因此需要将用户的信息保存在 cookie 中,这样他们就不必每次访问网站时都登录。

据我了解,除非进行一些额外的检查,否则 cookie 是不安全的,所以我想出了一种我认为应该使它们安全的方法(如果不是,请告诉我应该如何):

  • 在数据库中创建一个包含 cookie 信息的表
  • 在表格内,有两列;一个包含用户的用户名,另一个是一些大的随机数(我将如何在代码中生成随机数?)
  • 登录网站后(如果 cookie 已经存在),它会检查数据库以查看用户名和随机数是否匹配
  • 如果这是用户第一次登录(cookie 不存在),它会填充数据库中所需的表并设置一个 cookie
  • 成功登录后,会为数据库以及用户的 cookie 分配一个新的随机数

这看起来是一种可行的方法吗?

此外,如果多个页面需要从 cookie 中获取该人的用户名,它应该在每次需要时都与数据库进行验证,还是应该在$username = $_COOKIE["username"];没有任何验证的情况下直接使用?

谢谢。

4

0 回答 0