Compare commits
5 Commits
release-20
...
release-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
175cac953e | ||
|
|
2c812fc4f6 | ||
|
|
08df851970 | ||
|
|
35faa6bfda | ||
|
|
328019e438 |
@@ -5,9 +5,11 @@ use tower_governor::governor::GovernorConfigBuilder;
|
|||||||
use tower_governor::key_extractor::SmartIpKeyExtractor;
|
use tower_governor::key_extractor::SmartIpKeyExtractor;
|
||||||
|
|
||||||
pub fn get_login_rate_limit_config() -> GovernorConfig<SmartIpKeyExtractor, NoOpMiddleware<QuantaInstant>> {
|
pub fn get_login_rate_limit_config() -> GovernorConfig<SmartIpKeyExtractor, NoOpMiddleware<QuantaInstant>> {
|
||||||
|
// 5 yanlış denemeden sonra bloklanır.
|
||||||
|
// Her yeni hak için 60 saniye (1 dakika) bekleme süresi.
|
||||||
GovernorConfigBuilder::default()
|
GovernorConfigBuilder::default()
|
||||||
.key_extractor(SmartIpKeyExtractor)
|
.key_extractor(SmartIpKeyExtractor)
|
||||||
.per_second(1)
|
.per_second(60)
|
||||||
.burst_size(5)
|
.burst_size(5)
|
||||||
.finish()
|
.finish()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ pub fn Login() -> impl IntoView {
|
|||||||
logging::log!("Login successful, redirecting...");
|
logging::log!("Login successful, redirecting...");
|
||||||
// Force a full reload to re-run auth checks in App.rs
|
// Force a full reload to re-run auth checks in App.rs
|
||||||
let _ = window().location().set_href("/");
|
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 {
|
} else {
|
||||||
let text = resp.text().await.unwrap_or_default();
|
let text = resp.text().await.unwrap_or_default();
|
||||||
logging::error!("Login failed: {}", text);
|
logging::error!("Login failed: {}", text);
|
||||||
|
|||||||
@@ -143,6 +143,12 @@ pub fn provide_torrent_store() {
|
|||||||
|
|
||||||
// Initialize SSE connection with auto-reconnect
|
// Initialize SSE connection with auto-reconnect
|
||||||
create_effect(move |_| {
|
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 {
|
spawn_local(async move {
|
||||||
let mut backoff_ms: u32 = 1000; // Start with 1 second
|
let mut backoff_ms: u32 = 1000; // Start with 1 second
|
||||||
let max_backoff_ms: u32 = 30000; // Max 30 seconds
|
let max_backoff_ms: u32 = 30000; // Max 30 seconds
|
||||||
|
|||||||
Reference in New Issue
Block a user