我有一个登录系统,我希望人们能够保持登录状态。我这样做的方式如下。当用户登录并单击“记住我”时,将创建一个cookie。 Cookie包含以下数据。
email:::randomString
“:::”只是电子邮件和字符串之间的分隔符。一个例子如下:
johndow@gmail.com ::: EN8borW29qZMMJU8CNKivD91NFa3h5
字符串是随机生成的,不基于用户输入的任何内容。然后使用bcrypt对整个数据进行加密并存储在cookie中。 然后将该cookie上相同的数据副本存储在MySQL表条目中。当用户在另一个会话期间加载页面时,cookie被读取并解密。然后扫描该表以查找具有该电子邮件及其中的该字符串的相同副本。如果是,则用户自动登录。由于以下原因,我不确定这是否是一种安全的方法。有人可以从该cookie中复制数据,并在PC上创建一个具有确切数据的新数据。当他们加载页面时,脚本会读取他们的cookie并检查数据库是否找到匹配项,然后登录用户。
如何改进此方法或完全使用新方法?
答案 0 :(得分:0)
可替换地, 在github中搜索php登录系统,但希望能根据你的需求进行大量定制。
最近,我做了很多工作来定制这样一个系统,由于与业务战略有关的原因我到目前为止没有发布,但我向你保证,有很多工作需要构建和保护这样的系统!
作为奖励,我只发布一个功能图来理解我所说的复杂性,以及在构建软件时使用文字处理软件制作的简单图表的有用性。这将是拯救你未来的生活!