如何在cookie中“保护”商店信息?

时间:2013-03-21 16:14:56

标签: php cookies

来源是http://jaspan.com/improved_persistent_login_cookie_best_practice

请建议改进​​(方法的更改)。在这里,我只想在cookie中存储用户名,这样用户就不需要输入用户名了。以黑客无法从被盗cookie中识别用户名的方式存储(如果可能的话)

如果用户选中记住我并成功登录

1)根据用户名创建内容。例如$ username_for_cookie = MD5($ username)。$ salt; +可能是其他东西。在mysql中记录$ username_for_cookie

2)创建标识符。简单随机值。在mysql中记录indetifier

3)创建令牌。也是简单的随机值,也可以在mysql中记录。

4)创建cookie,将所有上述值放在一起$ username_for_cookie。 $ identifier。$ token

Cookie名称也可以是随机值或类似_ekglasjd

用户重访网站

1)检查cookie是否存在

2)如果cookie存在单独的$ username_for_cookie。 $ identifier。$ token获取3个分隔值

3)在mysql中搜索$ username_for_cookie值是否存在。如果不存在,请登录表单输入用户名和密码。如果存在,则比较$ identifier和$ token是否与mysql中的相同

这种方法“安全”吗?需要改进什么?

1 个答案:

答案 0 :(得分:0)

您可以通过执行以下操作来改进此功能。

  1. 仅使用https。
  2. 使用后重置令牌。
  3. 令牌必须在某个窗口内使用才能过期,用户需要再次登录。
  4. 确保令牌足够随机,无法再现。不应使用用户数据构建。