如何建立防弹cookie系统?

问题描述 投票:1回答:1

我知道关于cookie主题的重要帖子,但我仍然有一些关于实现的不清楚的问题。我的想法是:

在我的数据库中,我为每个用户保存了一个cookie_token,它是在创建帐户时随机生成的。只是一个随机的SHA1或者他的BCRYPT改变了HASH。

然后我的登录逻辑将是:

如果用户访问私人网站

  1. Session LoggedIn是真的吗? 是的:一切都好,停止进一步检查 不:继续2。
  2. 如果具有其ID的用户具有与其cookie中保存的令牌相同的令牌,则查询该DB。 如果是,则设置LoggedIn cookie 重定向。

但我也读过一个所谓的series_identifier,但我无法弄清楚究竟是什么。据我所知,每当用户创建一个新的会话或类似的东西时,它会以某种方式改变,但我不知道如何实现它。任何人都可以给我一个建议如何做到这一点,或者可能是另一种方法来提高cookie /登录过程的安全性?

最好的问候,迈克尔

php security session cookies
1个回答
0
投票

如果您正在寻求建立防篡改cookie以进行长期认证,那么this是一个很好的介绍,而this将该策略更加正式化。

你正在做的是将一半的令牌存储为选择器(在SELECT查询中使用)和数据库中另一半令牌的哈希值。

要进行验证,请将令牌分成两半,使用第一个来查找正确的数据库记录,然后重新散列后半部分并将刚刚计算的那个与存储的数据进行比较(使用hash_equals())。如果他们匹配,那很好。

如果你想更进一步,你也可以encrypt your cookies using authenticated encryption,但这可能是矫枉过正。

© www.soinside.com 2019 - 2024. All rights reserved.