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
	 Mateusz Gruszczyński
					Mateusz Gruszczyński