这难道是 Laravel 入门实践里的 Bug?

  1. 问答:bug?账户没激活也可以密码重置 ,未激活的用户可以通过邮箱找回密码,实现一次性登录,并进行操作,但是退出后,就需要激活。
  2. 相信很多人已经把这个项目上线成为自己的博客了 ,这个问题他们应该很感兴趣; 通过邮件找回密码时,并没有验证邮箱的正确性,所以,他人通过邮箱找回密码时,如果 他们知道任何一个用户(包括管理员)的邮箱时, 他们都可以通过这个功能来实现 用户密码的修改,并登陆进去,做恶意操作。
    @Summer ,建议完善下
在学rust 的小菜鸟啊
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
Summer
最佳答案

第一个逻辑是有点问题哈,感谢反馈。

关于第二个问题:

所以,他人通过邮箱找回密码时,如果 他们知道任何一个用户(包括管理员)的邮箱时, 他们都可以通过这个功能来实现 用户密码的修改,并登陆进去,做恶意操作

你虽然知道他们的『邮箱』,但是你没法登录他们的邮箱,就例如我知道你的银行账号,但是我无法从这个账号里转钱出来一样。

5年前 评论
讨论数量: 10

还有一个社区的文章收藏问题,取消收藏不是那么容易,还是我自己操作问题,

5年前 评论
KayuHo

你都有这种想法了其实可以自己完善的

5年前 评论
Summer

第一个逻辑是有点问题哈,感谢反馈。

关于第二个问题:

所以,他人通过邮箱找回密码时,如果 他们知道任何一个用户(包括管理员)的邮箱时, 他们都可以通过这个功能来实现 用户密码的修改,并登陆进去,做恶意操作

你虽然知道他们的『邮箱』,但是你没法登录他们的邮箱,就例如我知道你的银行账号,但是我无法从这个账号里转钱出来一样。

5年前 评论

@Summer 可能是我的表意不明确,这个bug是因为,在找回密码时,并没有做邮箱验证, 所以,我通过我的邮箱找回密码,然后点击点击,进入reset 页面,此时,我输入你的邮箱 + 任意密码, 既可以重置他人密码。这个漏洞,才是真的BUG

5年前 评论

如果是这样,应该要发一封邮件给输入的邮箱,并通过邮件里的内容的链接来跳转到重置密码页面。

5年前 评论
Summer

@life-is-learning 试过了没有,试试看能不能重置别人的密码?

5年前 评论

@Summer 已亲测,没有问题,逻辑是通的,自然走的通,这应该是laravel 底层分装的问题,需自己加判断

5年前 评论

@Summer sorry , 昨天晚上又测了下发现我是错的,,看了下 密码找回源码,其实是自动记录的又邮箱对比的。下次会注意,有问题时,多做几次验证

5年前 评论
Summer

@life-is-learning 是的,有时候还是很有必要动手求证下的哈。Url 里的 Token 里是有用户信息的。

5年前 评论

@Summer 确实没激活的用户也可以重置密码,这样其实就相当于之前注册过,但是没有激活,重新注册提示账号存在的BUG了,如果之前注册过没有激活,只需要忘记密码重置密码就可以了。不知道理解是否正确?

谢谢!

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!