1
我正在使用下面的代碼實現組中所有路由的速率限制功能。Laravel 5.2中的特定路由的速率限制功能
Route::group(['middleware' => ['web', 'throttle:2']], function() {
Route::get('/CSR', array('uses' => '[email protected]', 'as' => 'CSRList'));
//Second Route
//Third Route
//Fourth Route
//Fifth Route
//....
});
問題 這個偉大的工程。有沒有什麼辦法可以在組中的任何特定路線上執行此操作?
費率限制功能是針對特定的IP地址,或者它對網站的所有訪問者都有效。我的意思是,讓我們說在stackoverflow.com網站的某些頁面被限制訪問每分鐘10次。假設您訪問了10次,現在當我嘗試訪問該網頁時,我將不會被允許,因爲每分鐘嘗試10次。那是對的嗎 ?或者我會分別進行10次嘗試? – Pankaj
限制功能使用多個請求參數(包括IP地址),實際上中間件使用['Request :: fingerprint'](https://github.com/laravel/framework/blob/5.2/src/ Illuminate/Http/Request.php#L841-L846)方法來生成用於調節的唯一密鑰(您可以在那裏看到它用來生成指紋的參數)。這[Laracasts Video](https://laracasts.com/series/whats-new-in-laravel-5-2/episodes/2)很好地解釋了速率限制中間件的工作原理。 – Bogdan