Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Middleware: Request-Regeln, Eingabe- und Ausgabe-Listener

Was in Exponential an die Stelle von Middleware, Before- und After-Filtern und Request-Listenern tritt - Request-Regeln, die nach der URL-Übersetzung und den Richtlinien zulassen, ablehnen, weiterleiten, umschreiben…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/middleware-and-request-rules.md

On this page

This page is a translation. Read the English original

Middleware: Request-Regeln, Eingabe- und Ausgabe-Listener

Diese Seite richtet sich an Entwickler, die übergreifende Request-Logik in Middleware (Laravel, Slim, Laminas, Express, Django), in Before- und After-Filter (Rails, CodeIgniter) oder in Kernel-Listener (Symfony) legen. Exponential hat keinen allgemeinen Middleware-Stack, dem Sie Klassen hinzufügen. Es hat drei Stellen, die zusammen die meisten Anwendungsfälle von Middleware abdecken.

Inhalt

  1. Die drei Stellen
  2. Request-Regeln
  3. Eingabe- und Ausgabe-Listener
  4. Übliche Middleware, übertragen
  5. Was keine Entsprechung hat

Die drei Stellen

StelleLäuftKannKonfiguriert in
Listener für request/preinput und request/inputvor URL-Übersetzung und Routingden Request untersuchen, ihn ablehnen (wie es die CSRF-Prüfung tut), Zustand einrichtensite.ini [Event] Listeners[]
Request-Regelnnach der Übersetzung des URL-Alias und nachdem die Richtlinien die View erlaubt habenzulassen, nicht gefunden, verboten, anmelden, weiterleiten, zum Alias weiterleiten, umschreiben, protokollierensettings/requestrules.ini
Filter für response/preoutput und response/outputnachdem das Pagelayout gerendert wurdedie endgültige Ausgabe ändern (wie es das Einfügen des Formular-Tokens tut)site.ini [Event] Listeners[]

Die Reihenfolge innerhalb eines Requests steht unter Der Request-Lebenszyklus.

Request-Regeln

Regeln sind Einstellungen: Bedingungen und eine Aktion, der Reihe nach geprüft; die erste Regel, deren Bedingungen alle zutreffen, entscheidet (Request-Regeln, vollständiger Leitfaden mit sechzehn Rezepten: Vollständige Sicherheit für Views).

# settings/siteaccess/<site>/requestrules.ini.append.php
<?php /*
[RequestRuleSettings]
RuleList[]=members_area

[Rule-members_area]
Description=Below node 864, anonymous visitors sign in first and come back.
Conditions[subtree]=864
Conditions[user]=anonymous
Action=login
*/ ?>
  • 25 Bedingungen, darunter requested_via (System, Alias, Platzhalter, Startseite), uri, module_view, view_mode, node, subtree, class, section, state, user, role, policy, siteaccess, host, header, ip und fact.
  • 8 Aktionen: allow, notfound, forbidden, login, redirect, redirect_to_alias, rewrite, log.
  • Regeln nehmen nur Zugriff weg oder schicken den Besucher woandershin; sie gewähren nie einen Zugriff, den eine Richtlinie verweigert hat.
  • Jede Antwort außer allow wird mit private, no-store gesendet.
  • Prüfen Sie, was die Regeln entscheiden, ohne etwas zu ändern: php bin/php/ezrequestrules.php -s site --uri=content/view/full/2.

In PHP können Sie Bedingungen, Aktionen, Fakten (ezpRequestFactProvider) und ganze zur Laufzeit berechnete Regelsätze (ezpRequestRuleProvider) ergänzen, registriert in [RequestRuleSettings] (Die Regeln in PHP erweitern).

Eingabe- und Ausgabe-Listener

ezformtoken ist das Vorbild eines Middleware-Paars in Exponential. Seine settings/site.ini.append.php registriert:

[Event]
Listeners[]=request/input@ezxFormToken::input
Listeners[]=response/output@ezxFormToken::output

ezxFormToken::input() prüft das Token jedes POST vor dem Routing; ezxFormToken::output() fügt das versteckte Token-Feld jedem Formular mit method="post" im endgültigen HTML hinzu. Ein Filter-Listener wie response/output muss den Wert zurückgeben, den er erhält, geändert oder nicht (Ereignisse und Listener).

Übliche Middleware, übertragen

MiddlewareIn Exponential
Authentifizierung für einen Bereich erforderlichSiteaccess-Einstellung RequireUserLogin; eine Request-Regel mit Action=login; functions der View
AutorisierungRichtlinien an der View (functions), Objektprüfungen in der View (Autorisierung)
CSRFezformtoken (Formulare und CSRF)
IP-Freigabeliste für einen Bereicheine Request-Regel mit Conditions[ip]
Alte Adressen weiterleitenURL-Platzhalter oder eine Request-Regel mit redirect (Sprechende URLs)
WartungsmodusexpMaintenance in index.php (php bin/php/maintenance.php on) (Wartungsmodus)
Sicherheits-Header, Content Security Policysite.ini [ContentSecurityPolicy] und die Sicherheits-Header (Content Security Policy)
Response-Cachingder View-Cache, der rollenbewusste HTTP-Cache, der Velocity-Response-Cache (Caching)
Request-ProtokollierungRequest-Logs und das Audit-Protokoll (Request-Logs, Audit-Protokoll)
Vertrauenswürdige Proxiessite.ini [HTTPHeaderSettings] TrustedProxies[] (Vertrauenswürdige Proxies)

Was keine Entsprechung hat

  • Middleware-Listen pro Route (->middleware('auth') an einer Route): Verwenden Sie functions der View und Request-Regeln mit einer Bedingung module_view.
  • Den gesamten Aufruf in eine Closure einhüllen ($next($request)): Listener laufen davor oder danach, nicht darum herum. Die Runnable-Ereignisse (runnable/view/before und after) kommen dem für eine einzelne View am nächsten.
  • Reihenfolge der Middleware nach Priorität: Listener laufen in der Reihenfolge von Listeners[], Regeln in der Reihenfolge von RuleList[].

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x