HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/django/middleware/__pycache__/security.cpython-310.pyc
o

3�a�	�@s@ddlZddlmZddlmZddlmZGdd�de�ZdS)�N)�settings)�HttpResponsePermanentRedirect)�MiddlewareMixincs.eZdZd�fdd�	Zdd�Zdd�Z�ZS)	�SecurityMiddlewareNcsbt��|�tj|_tj|_tj|_tj	|_
tj|_tj
|_tj|_dd�tjD�|_tj|_dS)NcSsg|]}t�|��qS�)�re�compile)�.0�rrr�</usr/lib/python3/dist-packages/django/middleware/security.py�
<listcomp>sz/SecurityMiddleware.__init__.<locals>.<listcomp>)�super�__init__r�SECURE_HSTS_SECONDS�sts_seconds�SECURE_HSTS_INCLUDE_SUBDOMAINS�sts_include_subdomains�SECURE_HSTS_PRELOAD�sts_preload�SECURE_CONTENT_TYPE_NOSNIFF�content_type_nosniff�SECURE_BROWSER_XSS_FILTER�
xss_filter�SECURE_SSL_REDIRECT�redirect�SECURE_SSL_HOST�
redirect_host�SECURE_REDIRECT_EXEMPT�redirect_exempt�SECURE_REFERRER_POLICY�referrer_policy)�self�get_response��	__class__rrrszSecurityMiddleware.__init__cs`|j�d��|jr*|��s,t�fdd�|jD��s.|jp|��}td||�	�f�SdSdSdS)N�/c3s�|]}|���VqdS�N)�search)r	�pattern��pathrr�	<genexpr>s��z5SecurityMiddleware.process_request.<locals>.<genexpr>zhttps://%s%s)
r*�lstripr�	is_secure�anyrr�get_hostr�
get_full_path)r!�request�hostrr)r�process_requests����z"SecurityMiddleware.process_requestc	Cs�|jr#|��r#d|vr#d|j}|jr|d}|jr|d}||jd<|jr-|j�dd�|jr7|j�dd�|jrV|j�d	d
�	t
|jt�rQdd�|j�d
�D�n|j��|S)
NzStrict-Transport-Securityz
max-age=%sz; includeSubDomainsz	; preloadzX-Content-Type-Options�nosniffzX-XSS-Protectionz
1; mode=blockzReferrer-Policy�,cSsg|]}|���qSr)�strip)r	�vrrrr5sz7SecurityMiddleware.process_response.<locals>.<listcomp>)
rr-rr�headersr�
setdefaultrr �join�
isinstance�str�split)r!r1�response�
sts_headerrrr�process_response!s&


��z#SecurityMiddleware.process_responser&)�__name__�
__module__�__qualname__rr3r@�
__classcell__rrr#rrs
r)r�django.confr�django.httpr�django.utils.deprecationrrrrrr�<module>s