← Zurück zu Neuigkeiten
Unter der Haube: Sicherheitsfixes, Routing-Überarbeitung und klare Verträge

Unter der Haube: Sicherheitsfixes, Routing-Überarbeitung und klare Verträge

The Code Beaver

Dieses Release konzentriert sich auf das, was unter der Oberfläche passiert: sichereres Bearbeiten, intelligenteres Routing und einen schlankeren Content-Workflow.

Mehr Sicherheit

  • Atomare Datei-Schreibvorgänge — alle JSON-Speicherungen verwenden jetzt File Locking, damit zwei Redakteure, die gleichzeitig an derselben Seite arbeiten, sich nicht gegenseitig Änderungen beschädigen.
  • Strengere Bereinigung — der HTML-Sanitizer erkennt mehr potenziell gefährliche URI-Schemas und hält Inhalte auch beim Einfügen aus externen Quellen sauberer.
  • Sicherere Vorschauen — Medienvorschauen für YouTube, SoundCloud, Audio und Bilder im Inline Editor escapen jetzt alle Benutzereingaben vor dem Rendern.

Sprachunabhängiges Routing

Die primäre Sprache einer Website lässt sich jetzt mit einer einzigen Config-Änderung umstellen. Das Routing liest SITE_LANG_DEFAULT und passt die URL-Verarbeitung automatisch an — sowohl in Produktion mit Apache als auch lokal in der Entwicklung. .htaccess oder andere Dateien müssen dafür nicht manuell angepasst werden.

Entwicklungs- und Produktionsrouting verwenden nun denselben Config-Lademechanismus. Dadurch sollte eine URL nicht mehr lokal funktionieren und später am Server scheitern.

Auto-Write: Templates verdrahten sich selbst

Neue Seiten zu bauen ist einfacher geworden. Du schreibst dein PHP-Template mit sinnvollen Fallback-Werten, und Nibbly erledigt den Rest. Wenn ein Admin die Seite zum ersten Mal besucht, legt jeder editableText()-, editableImage()- und editableLink()-Aufruf ohne passenden JSON-Key diesen automatisch an — mit dem Fallback als Startinhalt.

So kannst du dich auf das Template konzentrieren. Die JSON-Content-Datei befüllt sich selbst, und der Content Editor im Dashboard zeigt die Felder sofort an. Eine Toast-Benachrichtigung bestätigt, wie viele Felder automatisch erstellt wurden.

Für Standardseiten mit sections[] und für editierbare Listen wird die JSON-Struktur weiterhin vorab angelegt. Für individuelle Layouts reicht aber oft schon das Template.