1 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
速率限制可以幫助防止自動(dòng)腳本。Laravel 默認(rèn)通過(guò) Throttle 中間件實(shí)現(xiàn)此功能。默認(rèn)油門(mén)比例為 60:1,throttle:60,1如果 1 分鐘內(nèi)記錄了 60 次嘗試,則轉(zhuǎn)換為油門(mén)。
該中間件適用于所有路由,但是,您可以針對(duì)各個(gè)路由覆蓋此中間件并定義嘗試次數(shù)和時(shí)間的自定義值。以下示例改編自文檔,如果 1 分鐘內(nèi)有 30 次嘗試,則配置限制路由:
Route::middleware('auth:api', 'throttle:30,1')->group(function () {
Route::get('/user', function () {
//
});
});
還有其他配置選項(xiàng),請(qǐng)參閱文檔以獲取更多信息。
https://laravel.com/docs/7.x/routing#rate-limiting
Laravel 如何檢查訪(fǎng)客用戶(hù)是否發(fā)送了太多請(qǐng)求?
用非?;镜男g(shù)語(yǔ)來(lái)說(shuō),Laravel 通過(guò)應(yīng)用程序緩存中的特定 IP 來(lái)跟蹤特定端點(diǎn)/域的命中。請(qǐng)求域和IP用作緩存鍵。每次命中端點(diǎn)時(shí),存儲(chǔ)在緩存中的嘗試次數(shù)都會(huì)增加。如果在路由應(yīng)用的配置中指定的時(shí)間窗口內(nèi)嘗試次數(shù)達(dá)到允許嘗試的最大次數(shù)throttle,則該 IP 將被鎖定一段時(shí)間。
如果時(shí)間窗口內(nèi)沒(méi)有新的點(diǎn)擊,嘗試將自動(dòng)清除。
- 1 回答
- 0 關(guān)注
- 209 瀏覽
添加回答
舉報(bào)