Request-Validierung

Umfassende Request-Validierung gegen die OpenAPI-Spezifikation - das Herzstück von Signando REST.

Vollständige Request-Validierungs-Pipeline

Jeder eingehende Request durchläuft eine mehrstufige Validierungs-Pipeline:

Request → Pfad-Prüfung → Methoden-Prüfung → Auth-Prüfung →
         Header-Validierung → Query-Validierung → Body-Validierung →
         Injection-Scan → Weiterleitung an Backend
1Pfad

Pfad-Validierung

URL-Pfade werden gegen die in der OpenAPI-Spezifikation definierte Allowlist validiert.

/users ✓  /admin ✗  /../etc ✗
2Methode

Methoden-Validierung

HTTP-Methoden werden pro Endpoint geprüft.

GET /users ✓  DELETE /users ✗
3Header

Header-Validierung

Erforderliche Header werden validiert, Injection-Versuche blockiert.

X-API-Key ✓  CRLF-Injection ✗
4Query

Query-Parameter-Validierung

Query-Parameter werden gegen das OpenAPI-Schema validiert.

?limit=10 ✓  ?limit=abc ✗
5Body

Body-Validierung

Request-Bodies werden gegen JSON-Schemas validiert.

{"email": "@"} ✓  {"admin": true} ✗
6Injection

Injection-Prävention

Alle Eingaben werden auf Injection-Muster gescannt.

SQL ✗  XSS ✗  CMD ✗

Vollständiges Validierungsbeispiel

Gültiger Request

curl -X POST \
  -H "X-API-Key: sk-valid-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "Max", "email": "max@beispiel.de"}' \
  "http://localhost:8080/users?notify=true"

Validierungsschritte

✓ Pfad: /users in OpenAPI definiert
✓ Methode: POST auf /users erlaubt
✓ Auth: X-API-Key Header vorhanden und gültig
✓ Query: ?notify=true entspricht Schema (boolean)
✓ Body: Entspricht User-Schema, keine Extra-Felder
✓ Injection: Keine Muster erkannt
→ Weiterleitung an Backend