Compare commits
1 Commits
release-20
...
release-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
35faa6bfda |
@@ -2,16 +2,14 @@ use governor::clock::QuantaInstant;
|
||||
use governor::middleware::NoOpMiddleware;
|
||||
use tower_governor::governor::GovernorConfig;
|
||||
use tower_governor::governor::GovernorConfigBuilder;
|
||||
use tower_governor::key_extractor::SmartIpKeyExtractor;
|
||||
use tower_governor::key_extractor::GlobalKeyExtractor;
|
||||
|
||||
pub fn get_login_rate_limit_config() -> GovernorConfig<SmartIpKeyExtractor, NoOpMiddleware<QuantaInstant>> {
|
||||
// 20 saniyede bir yeni hak verilir (dakikada 3 istek).
|
||||
// Başlangıçta 3 isteklik bir patlama (burst) hakkı tanınır.
|
||||
// Kullanıcı 3 kere hızlıca deneyebilir, 4. deneme için 20 saniye beklemesi gerekir.
|
||||
pub fn get_login_rate_limit_config() -> GovernorConfig<GlobalKeyExtractor, NoOpMiddleware<QuantaInstant>> {
|
||||
// GLOBAL TEST: Kim olursa olsun 2 denemeden sonra 30 saniye bloklanır.
|
||||
GovernorConfigBuilder::default()
|
||||
.key_extractor(SmartIpKeyExtractor)
|
||||
.per_second(20)
|
||||
.burst_size(3)
|
||||
.key_extractor(GlobalKeyExtractor)
|
||||
.per_second(30)
|
||||
.burst_size(2)
|
||||
.finish()
|
||||
.unwrap()
|
||||
}
|
||||
Reference in New Issue
Block a user