upload
This commit is contained in:
63
backends/base.py
Normal file
63
backends/base.py
Normal file
@@ -0,0 +1,63 @@
|
||||
"""
|
||||
Bazowa klasa dla backendów firewall
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
class FirewallBackend:
|
||||
"""Bazowa klasa dla backendów firewall"""
|
||||
|
||||
def __init__(self, config):
|
||||
"""
|
||||
Args:
|
||||
config: ConfigParser object z konfiguracją
|
||||
"""
|
||||
self.config = config
|
||||
self.logger = logging.getLogger(self.__class__.__name__)
|
||||
|
||||
def ban_ip(self, ip, duration):
|
||||
"""
|
||||
Banuje IP na określony czas
|
||||
|
||||
Args:
|
||||
ip: Adres IP do zbanowania
|
||||
duration: Czas bana w sekundach
|
||||
|
||||
Returns:
|
||||
bool: True jeśli ban się powiódł
|
||||
"""
|
||||
raise NotImplementedError("Subclasses must implement ban_ip()")
|
||||
|
||||
def unban_ip(self, ip):
|
||||
"""
|
||||
Usuwa ban dla IP
|
||||
|
||||
Args:
|
||||
ip: Adres IP do odbanowania
|
||||
|
||||
Returns:
|
||||
bool: True jeśli odbanowanie się powiodło
|
||||
"""
|
||||
raise NotImplementedError("Subclasses must implement unban_ip()")
|
||||
|
||||
def is_banned(self, ip):
|
||||
"""
|
||||
Sprawdza czy IP jest zbanowany
|
||||
|
||||
Args:
|
||||
ip: Adres IP do sprawdzenia
|
||||
|
||||
Returns:
|
||||
bool: True jeśli IP jest zbanowany
|
||||
"""
|
||||
raise NotImplementedError("Subclasses must implement is_banned()")
|
||||
|
||||
def test_availability(self):
|
||||
"""
|
||||
Sprawdza czy backend jest dostępny w systemie
|
||||
|
||||
Returns:
|
||||
bool: True jeśli backend jest dostępny
|
||||
"""
|
||||
return True
|
||||
Reference in New Issue
Block a user