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

Laravel 重置密码垃圾邮件

Laravel 重置密码垃圾邮件

PHP
狐的传说 2023-06-30 16:27:20
你好,我正在使用 Laravel DEFAULT 密码重置,它工作得很好,但是有一个小问题,我可以每分钟请求“密码重置”,但我不喜欢它,所以我的问题是如何减少该请求比如,我希望能够每 5m 发出 2 个请求。/ForgotPasswordController.php public function __construct()    {        if (preg_match('/en/',url()->previous())){            App::setLocale('en');        }else{            App::setLocale('ru');        }        $this->middleware('guest');    }
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

您可以使用 Laravel 默认提供的 ThrottleRequests 中间件,方法是在控制器构造函数中定义它:


public function __construct()

{

    if (preg_match('/en/', url()->previous())) {

        App::setLocale('en');

    } else {

        App::setLocale('ru');

    }


    $this->middleware('throttle:2,5');

    $this->middleware('guest');

}

...或者将其添加到路线定义中。


Route::post('/password/reset', 'ForgotPasswordController@yourFunction')

    ->middleware('throttle:2,5');

有关参数的其他信息:https ://www.cloudways.com/blog/laravel-and-api-rate-limiting/


查看完整回答
反对 回复 2023-06-30
?
FFIVE

TA贡献1797条经验 获得超6个赞

最好的方法是使用时间比较或漏桶,它只记录最后一个请求。密码重置的时间应记录在后端,然后可以使用条件来确保在 5 分钟内不会完成两次重置。查看这些示例:

  • 时间比较器

  • 漏桶法


查看完整回答
反对 回复 2023-06-30
  • 2 回答
  • 0 关注
  • 113 浏览

添加回答

举报

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