davidcastagnetoa/skills

input_size_validation

Rechazo de payloads que excedan el tamaño máximo permitido para prevenir ataques DoS

First seen Mar 2, 2026

Installation

$ npx skills add davidcastagnetoa/skills --skill input_size_validation

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from davidcastagnetoa/skills · top by installs.

npx skills add davidcastagnetoa/skills

Browse all from davidcastagnetoa/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,934 B
  • docs SUMMARY.md 115 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 12 installs

SKILL.md

inputsizevalidation

Sin límite de tamaño, un atacante puede enviar archivos de cientos de MB para saturar la memoria de los workers o el almacenamiento de MinIO. La validación de tamaño ocurre en dos capas: Nginx (antes de que el payload llegue a FastAPI) y FastAPI (validación de tipo y dimensiones de imagen).

When to use

Aplicar en Nginx como primera línea y en el endpoint de FastAPI que recibe las imágenes. Rechazar con 413 antes de leer el body completo.

Instructions

  1. En Nginx: clientmaxbody_size 20M; — rechaza con 413 sin pasar al upstream.
  2. En FastAPI, validar el campo UploadFile:

``python MAXIMAGESIZE = 10 1024 1024 # 10 MB por imagen async def validateimage(file: UploadFile): content = await file.read(MAXIMAGESIZE + 1) if len(content) > MAXIMAGE_SIZE: raise HTTPException(413, "Imagen demasiado grande. Máximo 10MB.") await file.seek(0) return content ``

  1. Validar que el Content-Type sea image/jpeg o image/png — rechazar otros tipos con 415.
  2. Validar dimensiones mínimas: ancho y alto ≥ 640px (imagen demasiado pequeña → calidad insuficiente).
  3. Validar dimensiones máximas: ancho o alto ≤ 6000px (imágenes de cámaras DSLR innecesariamente grandes).
  4. Registrar en logs todos los rechazos por tamaño con la IP origen para análisis de amenazas.

Notes

  • El check de tamaño en Nginx es O(0) — rechaza sin leer el body. El check en FastAPI es más preciso pero ya leyó el body.
  • Límite recomendado: selfie máx 5MB, documento máx 10MB. Ajustar según calidad de cámara de los clientes.
  • Imágenes demasiado pequeñas (<640px) deben rechazarse en capture_agent con mensaje de UI explicativo.