为了账号安全,请及时绑定邮箱和手机立即绑定

“让我登录”-最好的方法

“让我登录”-最好的方法

慕哥6287543 2019-07-01 11:07:24
“让我登录”-最好的方法我的Web应用程序使用会话来存储用户登录后的信息,并在应用程序中从一页到另一页时维护这些信息。在这个特定的应用程序中,我存储user_id, first_name和last_name那个人。我想在登录时提供一个“让我登录”的选项,这个选项将在用户的机器上放置一个cookie,为期两周,当用户返回应用程序时,将使用相同的详细信息重新启动他们的会话。做这件事的最佳方法是什么?我不想把他们的user_id在cookie中,这似乎使一个用户很容易尝试伪造另一个用户的身份。
查看完整描述

3 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

通常我会做这样的事情:

  1. 用户登录“让我登录”
  2. 创建会话
  3. 创建一个名为“包含的东西”的cookie:MD5(SALT+用户名+IP+SALT)和一个名为SomethingElse(包含id)
  4. 将cookie存储在数据库中
  5. 用户做东西和离开
  6. 用户返回,检查某些内容-Else cookie,如果存在,则从数据库中获取该用户的旧哈希;检查cookie的内容-与数据库中的哈希匹配,这也应该与新计算的散列(对于IP)匹配-例如:cookieHash==databaseHash==md5(salt+username+ip+salt),(如果它们存在),goto 2,如果它们不去1

当然,您可以使用不同的cookie名称等,也可以稍微更改cookie的内容,只需确保它不容易创建。例如,您还可以在创建用户时创建USER_SALT,并将其放入cookie中。

此外,您也可以使用SHA 1而不是MD5(或几乎任何算法)。


查看完整回答
反对 回复 2019-07-01
  • 3 回答
  • 0 关注
  • 772 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信