Sonderseiten und eigene Routen entwickeln
Eine Sonderseite liefert eine Anwendungsfunktion statt frei bearbeitbarer Seiteninhalte. Für kleine HTTP-Endpunkte können Sie eine eigene Route registrieren. Beide Wege brauchen klare Zuständigkeit, Eingabeprüfung und Berechtigungen.
Sonderseite statt Inhaltsseite wählen
Prüfen Sie zuerst, ob Redakteure Text, Bilder oder Navigation direkt pflegen sollen. Dann ist meist eine normale Seite mit Area und Blöcken richtig. Braucht die Funktion einen eigenen Controller, feste Aktionen und formularbasierte Abläufe, passt eine Sonderseite. In Verwaltung → Seiten & Themes → Sonderseiten sehen Sie die registrierten Pfade. Core-Pfade wie /login, /account und /page_not_found zeigen, dass eine Sonderseite nicht automatisch eine frei editierbare Inhaltsseite ist.
Abbildung 1: Vor einem neuen Pfad prüfen Sie, ob er bereits dem Core oder einem Package gehört.
Dateien einer eigenen Sonderseite liegen in der Anwendung oder im Package; ein Controller kann dazu Aktionen bereitstellen. Pfad, Name und Besitz werden bei der Installation registriert. Verwechseln Sie die URL der Sonderseite nicht mit einem normalen Seiten-Alias. Bei einem Paket-Upgrade darf die erneute Registrierung keine fremde Seite übernehmen. Sonderseiten und Feeds verwalten ordnet die Funktion aus Verwaltungssicht ein.
Aktion und Formular absichern
In einem Core-Controller der Verwaltung für Express lässt sich der Ablauf konkret nachvollziehen: Ein POST wird erkannt, ein CSRF-Token validiert, Eingaben und Handles geprüft und erst anschließend ein Datenobjekt gespeichert. Für eine eigene Funktion prüfen Sie zusätzlich die Berechtigung der angemeldeten Person auf die konkrete Aktion und auf das betroffene Objekt. Ein gültiger Token allein verleiht keine Rechte.
Senden Sie bei Fehlern verständliche Meldungen, ohne interne Pfade oder Datenbankdetails auszugeben. Validieren Sie Feldtyp, Länge und erlaubte Werte serverseitig. Kodieren Sie Werte beim Rendern passend zum Ausgabe-Kontext; bei Dateiuploads gelten weitere Prüfungen. Testen Sie GET, POST, unberechtigten Zugriff und einen Abbruch, bevor Sie echte Daten zulassen.
Eigene Route bewusst begrenzen
Die Core-Routing-API registriert Pfad und HTTP-Verb; sie kann Controller und Middleware einbinden. Eine eigene Route eignet sich für einen kleinen Endpunkt oder eine Integration, ersetzt aber weder Authentifizierung noch einen konkreten Berechtigungscheck. Legen Sie keinen allgemein lesbaren Pfad für personenbezogene Express-Daten an. Prüfen Sie die offizielle Route-Dokumentation (EN) (externer Link) gegen die installierte Core-Version.
Für externe Aufrufer lesen Sie Schnittstellen sicher anbieten. Dokumentieren Sie bei jeder eigenen Route, wer sie nutzt, wie sie authentifiziert wird und welche Antwort bei Fehlern entsteht. Prüfen Sie am Schluss, dass andere registrierte Pfade und die normale Seitennavigation unverändert bleiben.
Weiterlesen
- Sonderseiten und Feeds verwalten
- Schnittstellen sicher anbieten
- Erweiterungen gegen unbefugte Eingaben absichern
Quelle: Concrete CMS Dokumentation (EN) · Stand: ConcreteCMS 9.5.7