Edit File: captcha.cpython-311.pyc
� �gh� � � � d Z ddlmZmZmZ ddlmZ ddlmZ ddl m Z mZ ddlm Z ddlmZmZ dd lmZmZ G d � de� � ZdS ) z%Captcha specific rules customization.� )�AbstractSet�Iterator�Mapping)�HostingPanel)� Webshield)� FirewallRules�is_nat_available)� webshield)� IPVersion�LocalhostIP� )�FirewallRule�WebshieldRuleBuilderc � � e Zd ZdZdd�Zdedee fd�Zde e e f dedee fd �Zdedee fd �Z dedee fd�Zdedee fd �ZdS )�CaptchaRuleBuilderzPImplement steps specific to generating captcha related iptables rules. Fc � � || _ d S )N)�2_CaptchaRuleBuilder__include_webshield_ports_rules)�self�include_webshield_ports_ruless �W/opt/imunify360/venv/lib/python3.11/site-packages/im360/internals/core/rules/captcha.py�__init__zCaptchaRuleBuilder.__init__ s � �/L��,�,�,� � ip_version�returnc # � K � | j sdS t t j t j t | j � � �� � V � dS )z;Return FirewallRule to open webshields ports for localhost.N)�chain�rule)r r r �WEBSHIELD_PORTS_INPUT_CHAIN�open_all_for_src_netr �value)r r s r �(open_webshield_ports_for_localhost_rulesz;CaptchaRuleBuilder.open_webshield_ports_for_localhost_rules sd � � � � �3� ��F���;��3��J�'�-�� � � � � � � � � r �redirect_map� dest_portsc # � K � | j sdS t t j t j t j � � t j �� � V � dS )z/Return FirewallRules to log redirected traffic.N)r r �priority)r r r r �compose_action�LOG_BLOCK_PORT_CHAIN�LOWEST_PRIORITY)r r"