Php 正确保护cookies

Php 正确保护cookies,php,mysql,cookies,Php,Mysql,Cookies,我的网站有一个登录功能,因此需要将用户的信息保存在cookie中,这样他们就不必每次登录网站 据我所知,饼干是不安全的,除非有一些额外的检查到位,所以我想出了一种方法,我认为应该使他们安全如果没有,请告诉我应该如何: 在数据库中创建一个包含cookie信息的表 表中有两列;一个是保存用户用户名的,另一个是一些大的随机数。我如何在代码中生成随机数? 登录到网站后,如果cookie已经存在,它会检查数据库,查看用户名和随机数是否匹配 如果用户第一次登录的cookie不存在,它将填充数据库中所需的表并

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

据我所知,饼干是不安全的,除非有一些额外的检查到位,所以我想出了一种方法,我认为应该使他们安全如果没有,请告诉我应该如何:

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

此外,如果多个页面需要从cookie中获取该用户的用户名,那么每次需要时它都应该与数据库进行验证,还是应该只使用$username=$\u cookie[username];没有任何核实


谢谢。

+1-听起来很有趣。然而,有关保护cookies的快速SO或google搜索会给出许多结果,这些结果应该涵盖您的大部分顾虑。这一问题在SO上已经被问了很多次,并且已经解决了很长时间:@Dagon该问题和答案缺少安全记住选项的一些关键部分。我很确定在某个地方有一个复制品,但是所有的垃圾复制品都很难找到它:但是没有回答我的几个问题:如何在代码中生成随机数?此外,如果多个页面需要从cookie中获取该用户的用户名,那么每次需要时它都应该与数据库进行验证,还是应该只使用$username=$\u cookie[username];未经任何验证?哈希不是随机数md5uniqidrand,true;