Bezbednost: superadmin može da odblokira IP adrese zaključane bruteforce zaštitom

Nova stranica /admin/blokirane-ip — lista IP adresa sa previše neuspelih pokušaja
prijave (broj neuspeha, poslednji pokušaj, preostalo vreme zaključavanja) i dugme
za ručno odblokiranje. Nova dozvola 'bezbednost.odblokiraj', namerno rezervisana
isključivo za ulogu superadmin (admin je nema — odblokiranje zaobilazi bruteforce
zaštitu). Repo metode PokusajiPrijaveRepo.ListaBlokiranih/Odblokiraj.
This commit is contained in:
2026-07-02 21:24:25 +02:00
parent b35b41b82e
commit 85a2ee1b64
9 changed files with 208 additions and 4 deletions
+4
View File
@@ -336,6 +336,10 @@ type PokusajiPrijaveRepository interface {
BrojNeuspeha(ctx context.Context, ip string, od time.Time) (int, error)
VremePoslednjeg(ctx context.Context, ip string, od time.Time) (time.Time, bool, error)
ObrisiStare(ctx context.Context, pre time.Time) error
// ListaBlokiranih vraća IP adrese sa >= prag neuspelih pokušaja od zadatog trenutka
ListaBlokiranih(ctx context.Context, od time.Time, prag int) ([]model.BlokiranaIP, error)
// Odblokiraj briše neuspele pokušaje za IP adresu, čime se ona odmah oslobađa blokade
Odblokiraj(ctx context.Context, ip string) error
}
// LoginIstorijsaRepository definiše operacije nad evidencijom prijava