Sensitive Files Middleware

class smarter.lib.django.middleware.sensitive_files.SmarterBlockSensitiveFilesMiddleware(get_response)[source]

Bases: SmarterMiddlewareMixin

Middleware that blocks requests probing for sensitive files.

Features: - ASGI and WSGI compatible - Path normalization - Amnesty support - Request throttling - Cached inspection

__init__(get_response)[source]

Note: this needs to exist; something in the Python MRO requires it, even if it does nothing.

If you remove this, you will get a mysterious error about something downstream expecting exactly one object.

property formatted_class_name: str

str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str

Create a new string object from the given object. If encoding or errors is specified, then the object must expose a data buffer that will be decoded using the given encoding and error handler. Otherwise, returns the result of object.__str__() (if defined) or repr(object). encoding defaults to ‘utf-8’. errors defaults to ‘strict’.

classmethod is_sensitive_request(cls, path)[source]

Cached sensitive file detection.

Return type:

bool

static normalize_path(path)[source]

Normalize paths to reduce traversal and encoding bypasses.

Return type:

str