GuardianUnivalle-Benito-Yucra 0.1.10__tar.gz → 0.1.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of GuardianUnivalle-Benito-Yucra might be problematic. Click here for more details.
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/detectores/detector_sql.py +6 -14
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra.egg-info/PKG-INFO +1 -1
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/PKG-INFO +1 -1
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/pyproject.toml +1 -1
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/__init__.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/auditoria/registro_auditoria.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/criptografia/cifrado_aead.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/criptografia/intercambio_claves.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/criptografia/kdf.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/detectores/detector_csrf.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/detectores/detector_dos.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/detectores/detector_keylogger.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/detectores/detector_xss.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/middleware_web/middleware_web.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/mitigacion/limitador_peticion.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/mitigacion/lista_bloqueo.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/puntuacion/puntuacion_amenaza.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra/utilidades.py +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra.egg-info/SOURCES.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra.egg-info/dependency_links.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra.egg-info/requires.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/GuardianUnivalle_Benito_Yucra.egg-info/top_level.txt +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/LICENSE +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/README.md +0 -0
- {guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/setup.cfg +0 -0
|
@@ -143,17 +143,14 @@ class SQLIDefenseStrongMiddleware(MiddlewareMixin):
|
|
|
143
143
|
def process_request(self, request):
|
|
144
144
|
path = request.path or ""
|
|
145
145
|
client_ip = get_client_ip(request)
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
):
|
|
150
|
-
return None
|
|
151
|
-
# 1) Si la ruta está exenta -> no inspeccionar
|
|
146
|
+
|
|
147
|
+
# 1) Rutas exentas
|
|
148
|
+
EXEMPT_PATHS = getattr(settings, "SQLI_EXEMPT_PATHS", [])
|
|
152
149
|
for p in EXEMPT_PATHS:
|
|
153
150
|
if path.startswith(p):
|
|
154
151
|
return None
|
|
155
152
|
|
|
156
|
-
# 2)
|
|
153
|
+
# 2) IP bloqueada temporalmente
|
|
157
154
|
if client_ip in TEMP_BLOCK:
|
|
158
155
|
if time.time() - TEMP_BLOCK[client_ip] < BLOCK_DURATION:
|
|
159
156
|
logger.warning(f"IP bloqueada temporalmente: {client_ip}")
|
|
@@ -163,17 +160,12 @@ class SQLIDefenseStrongMiddleware(MiddlewareMixin):
|
|
|
163
160
|
else:
|
|
164
161
|
del TEMP_BLOCK[client_ip]
|
|
165
162
|
|
|
166
|
-
# 3)
|
|
167
|
-
if is_valid_jwt(request):
|
|
168
|
-
return None
|
|
169
|
-
if is_valid_signed_bypass(request):
|
|
170
|
-
return None
|
|
171
|
-
|
|
172
|
-
# 4) Detectar SQLi
|
|
163
|
+
# 3) Extraer payload
|
|
173
164
|
text = extract_payload_text(request)
|
|
174
165
|
if not text:
|
|
175
166
|
return None
|
|
176
167
|
|
|
168
|
+
# 4) Detectar SQLi
|
|
177
169
|
flagged, matches = detect_sqli_text(text)
|
|
178
170
|
if flagged:
|
|
179
171
|
TEMP_BLOCK[client_ip] = time.time()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GuardianUnivalle-Benito-Yucra
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.11
|
|
4
4
|
Summary: Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask
|
|
5
5
|
Author-email: Andres Benito Calle Yucra <benitoandrescalle035@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GuardianUnivalle-Benito-Yucra
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.11
|
|
4
4
|
Summary: Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask
|
|
5
5
|
Author-email: Andres Benito Calle Yucra <benitoandrescalle035@gmail.com>
|
|
6
6
|
License: MIT
|
{guardianunivalle_benito_yucra-0.1.10 → guardianunivalle_benito_yucra-0.1.11}/pyproject.toml
RENAMED
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "GuardianUnivalle-Benito-Yucra" # usar mayúsculas consistente
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.11"
|
|
8
8
|
description = "Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Andres Benito Calle Yucra", email = "benitoandrescalle035@gmail.com" }
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|