Compare commits
4 Commits
release-20
...
release-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
175cac953e | ||
|
|
2c812fc4f6 | ||
|
|
08df851970 | ||
|
|
35faa6bfda |
@@ -5,13 +5,12 @@ use tower_governor::governor::GovernorConfigBuilder;
|
||||
use tower_governor::key_extractor::SmartIpKeyExtractor;
|
||||
|
||||
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.
|
||||
// 5 yanlış denemeden sonra bloklanır.
|
||||
// Her yeni hak için 60 saniye (1 dakika) bekleme süresi.
|
||||
GovernorConfigBuilder::default()
|
||||
.key_extractor(SmartIpKeyExtractor)
|
||||
.per_second(20)
|
||||
.burst_size(3)
|
||||
.per_second(60)
|
||||
.burst_size(5)
|
||||
.finish()
|
||||
.unwrap()
|
||||
}
|
||||
@@ -41,6 +41,8 @@ pub fn Login() -> impl IntoView {
|
||||
logging::log!("Login successful, redirecting...");
|
||||
// Force a full reload to re-run auth checks in App.rs
|
||||
let _ = window().location().set_href("/");
|
||||
} else if resp.status() == 429 {
|
||||
set_error.set(Some("Çok fazla başarısız deneme yaptınız. Lütfen bir süre bekleyip tekrar deneyin.".to_string()));
|
||||
} else {
|
||||
let text = resp.text().await.unwrap_or_default();
|
||||
logging::error!("Login failed: {}", text);
|
||||
|
||||
@@ -143,6 +143,12 @@ pub fn provide_torrent_store() {
|
||||
|
||||
// Initialize SSE connection with auto-reconnect
|
||||
create_effect(move |_| {
|
||||
// Sadece kullanıcı giriş yapmışsa bağlantıyı başlat
|
||||
if user.get().is_none() {
|
||||
logging::log!("SSE: User not authenticated, skipping connection.");
|
||||
return;
|
||||
}
|
||||
|
||||
spawn_local(async move {
|
||||
let mut backoff_ms: u32 = 1000; // Start with 1 second
|
||||
let max_backoff_ms: u32 = 30000; // Max 30 seconds
|
||||
|
||||
Reference in New Issue
Block a user