Der Operator ezhttp
Diese Seite ist für Designer, die in einem Template einen Wert aus der Anfrage brauchen, zum Beispiel einen Suchbegriff, den sie wieder ausgeben.
Inhalt
Der Aufruf
if ezhttp_hasvariable( 'SearchText', 'get' )
<p>'You searched for %term'|i18n( 'design/mytheme/search',, hash( '%term', ezhttp( 'SearchText', 'get' )|wash ) )</p>
/ifParameter (kernel/common/ezurloperator.php): der Variablenname und die Methode post (Standard), get, session oder
cookie. Prüfen Sie zuerst mit ezhttp_hasvariable; eine fehlende Variable zu lesen, ist eine Warnung.
Nicht vertrauenswürdige Eingaben
Alles in der Anfrage stammt vom Besucher oder von einem Angreifer in einem präparierten Link:
- maskieren Sie es immer, bevor Sie es ausgeben (Wash und Maskierung);
- wandeln Sie Zahlen um:
ezhttp( 'page', 'get' )|int; - bauen Sie damit nie die Klassenliste oder das Sortierfeld eines Fetch, ohne es gegen eine Liste erlaubter Werte zu prüfen;
- geben Sie nie Sitzungs- oder Cookie-Werte aus, die etwas Privates enthalten könnten.
Bessere Quellen
| Sie brauchen | Besser als ezhttp |
|---|---|
| Versatz beim Blättern, Filter in der URL | View-Parameter: /(offset)/20 kommt im View-Template als $view_parameters.offset an |
| die aktuelle Seite | $module_result, $node |
| den angemeldeten Benutzer | $current_user, fetch( 'user', 'current_user' ) |
| Suchergebnisse | die eigenen Template-Variablen des Suchmoduls |
Caching
Ein Wert aus der Anfrage in einem Template im View-Cache oder in einem Cache-Block wird in den Cache eingefroren.
View-Parameter sind Teil des Schlüssels des View-Cache; beliebige GET-Werte nicht. Halten Sie die Ausgabe von ezhttp
außerhalb gecachter Teile.
Verwandte Seiten
- Der Operator ezini
- Suchergebnis-Template
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
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.