einem aufmerksamen Türsteher vor einem Club vergleichen, der jeden Gast zunächst kontrolliert, bevor er überhaupt den eigentlichen Veranstaltungsraum erreicht
Was steckt dahinter?
Middleware in Laravel lässt sich am besten mit einem aufmerksamen Türsteher vor einem Club vergleichen, der jeden Gast zunächst kontrolliert, bevor er überhaupt den eigentlichen Veranstaltungsraum erreicht. Technisch ist Middleware Code, der zwischen dem Eingang einer eingehenden Anfrage und ihrer eigentlichen Verarbeitung durch die Anwendung ausgeführt wird – und genau wie ein Türsteher kann Middleware eine Anfrage entweder ungehindert durchlassen, sie abändern, oder sie komplett blockieren, bevor sie ihr Ziel erreicht. Ein klassisches Beispiel ist die sogenannte Auth-Middleware, die bei jeder eingehenden Anfrage prüft, ob der Nutzer überhaupt eingeloggt ist, bevor er auf geschützte Bereiche wie ein persönliches Kundenkonto zugreifen darf. Ist der Nutzer nicht eingeloggt, leitet die Middleware ihn automatisch zur Login-Seite weiter, ohne dass die eigentliche, geschützte Funktion überhaupt jemals ausgeführt wird. Andere typische Middleware-Anwendungen umfassen das automatische Protokollieren aller Anfragen, das Setzen bestimmter HTTP-Header oder die Durchsetzung eines API Rate Limits. Da Middleware so zentral für die Sicherheit einer Anwendung ist, ist eine fehlerhaft konfigurierte oder lückenhafte Middleware-Logik eine häufige Ursache für Broken Authentication oder im schlimmsten Fall für Privilege Escalation, bei der ein Nutzer Zugriff auf Bereiche erhält, für die er eigentlich nicht autorisiert ist. Laravel erlaubt es, Middleware sehr granular sowohl global für die gesamte Anwendung als auch gezielt für einzelne Routen zu definieren, was eine präzise und gut wartbare Sicherheitsarchitektur ermöglicht.