OwlCyberSecurity - MANAGER
Edit File: csrf.cpython-39.pyc
a kH�fM � @ s� d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl m Z mZ ddlm Z mZ ddlmZ dd lmZ dd lmZmZ ddlmZ ddlmZ dd lmZ ddlmZ ddlmZ e� d�Z!ed�Z"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,de, Z-ej.ej/ Z0dZ1dd� Z2d d!� Z3d"d#� Z4d$d%� Z5d&d'� Z6d(d)� Z7d*d+� Z8G d,d-� d-e9�Z:d.d/� Z;d0d1� Z<G d2d3� d3e9�Z=G d4d5� d5e�Z>dS )6z� Cross Site Request Forgery Middleware. This module provides a middleware that implements protection against request forgeries from other sites. � N)�defaultdict��urlparse)�settings)�DisallowedHost�ImproperlyConfigured)�HttpHeaders�UnreadablePostError)�get_callable)�patch_vary_headers)�constant_time_compare�get_random_string)�MiddlewareMixin)�cached_property��is_same_domain)�log_response)�_lazy_re_compilezdjango.security.csrfz[^a-zA-Z0-9]z?Origin checking failed - %s does not match any trusted origins.z%Referer checking failed - no Referer.z@Referer checking failed - %s does not match any trusted origins.zCSRF cookie not set.zCSRF token missing.z/Referer checking failed - Referer is malformed.zCReferer checking failed - Referer is insecure while host is secure.zhas incorrect lengthzhas invalid characters� � Z _csrftokenc C s t tj�S )z/Return the view to be used for CSRF rejections.)r r ZCSRF_FAILURE_VIEW� r r �X/home/gouroczh/virtualenv/test/3.9/lib/python3.9/site-packages/django/middleware/csrf.py�_get_failure_view1 s r c C s t ttd�S )N)� allowed_chars)r �CSRF_SECRET_LENGTH�CSRF_ALLOWED_CHARSr r r r �_get_new_csrf_string6 s r c sP t � }t� t� fdd�| D �� fdd�|D ��}d�� fdd�|D ��}|| S )z� Given a secret (assumed to be a string of CSRF_ALLOWED_CHARS), generate a token by adding a mask and applying it to the secret. c 3 s | ]}� � |�V qd S �N��index��.0�x��charsr r � <genexpr>A � z&_mask_cipher_secret.<locals>.<genexpr>� c 3 s&