2 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以使用 Laravel 默認(rèn)提供的 ThrottleRequests 中間件,方法是在控制器構(gòu)造函數(shù)中定義它:
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');
有關(guān)參數(shù)的其他信息:https ://www.cloudways.com/blog/laravel-and-api-rate-limiting/

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
最好的方法是使用時(shí)間比較或漏桶,它只記錄最后一個(gè)請求。密碼重置的時(shí)間應(yīng)記錄在后端,然后可以使用條件來確保在 5 分鐘內(nèi)不會(huì)完成兩次重置。查看這些示例:
時(shí)間比較器
漏桶法
- 2 回答
- 0 關(guān)注
- 155 瀏覽
添加回答
舉報(bào)