o
    
h                     @   s0   d Z ddlmZ ddlmZ G dd deZdS )z
Clickjacking Protection Middleware.

This module provides a middleware that implements protection against a
malicious site loading resources from your site in a hidden frame.
    )settings)MiddlewareMixinc                   @   s    e Zd ZdZdd Zdd ZdS )XFrameOptionsMiddlewarea  
    Set the X-Frame-Options HTTP header in HTTP responses.

    Do not set the header if it's already set or if the response contains
    a xframe_options_exempt value set to True.

    By default, set the X-Frame-Options header to 'DENY', meaning the response
    cannot be displayed in a frame, regardless of the site attempting to do so.
    To enable the response to be loaded on a frame within the same site, set
    X_FRAME_OPTIONS in your project's Django settings to 'SAMEORIGIN'.
    c                 C   s8   | dd ur	|S t|ddr|S | |||jd< |S )NzX-Frame-Optionsxframe_options_exemptF)getgetattrget_xframe_options_valueheadersselfrequestresponse r   `/var/www/html/optinet_system/venv/lib/python3.10/site-packages/django/middleware/clickjacking.pyprocess_response   s   
z(XFrameOptionsMiddleware.process_responsec                 C   s   t tdd S )a  
        Get the value to set for the X_FRAME_OPTIONS header. Use the value from
        the X_FRAME_OPTIONS setting, or 'DENY' if not set.

        This method can be overridden if needed, allowing it to vary based on
        the request or response.
        X_FRAME_OPTIONSDENY)r   r   upperr
   r   r   r   r   (   s   z0XFrameOptionsMiddleware.get_xframe_options_valueN)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    r   N)r   django.confr   django.utils.deprecationr   r   r   r   r   r   <module>   s    