Ścieżka jest częścią danych wejściowych
Najgroźniejsze błędy w systemie plikowym często zaczynają się niewinnie: od sklejenia katalogu z nazwą przesłaną przez formularz. FlatFile CMS rozwiązuje ścieżki względem znanych katalogów bazowych i odrzuca próby wyjścia poza ich granice.
Dotyczy to stron, konfiguracji, mediów i rendererów. Pakiety bloków są kodem deweloperskim — panel może zarządzać ich danymi, ale nigdy plikami PHP.
Zapis musi być atomowy
Modyfikacja YAML nie powinna pozostawić połowy dokumentu po przerwaniu procesu. Nowa zawartość najpierw trafia do prywatnego pliku tymczasowego. Dopiero po pełnym zapisie i walidacji następuje bezpieczna zamiana.
Ten sam wzorzec wspiera blokadę zapisu i kontrolę konfliktów. Administrator otrzymuje błąd, a poprzednia wersja treści pozostaje poprawna.
Media nie są wyjątkiem
Rozszerzenie pliku nie decyduje o jego rodzaju. Warstwa mediów sprawdza MIME, limity rozmiaru i wymiary obrazu. SVG przechodzi sanitizację, a warianty rastrowe powstają w kontrolowanych granicach pamięci.
Publiczny adres zawiera fingerprint. Można więc ustawić długi cache, nie ryzykując, że użytkownik zobaczy starą wersję pliku.
Audyt domyka proces
Operacje administracyjne zapisują kto, kiedy i jaki zasób zmienił. Dziennik nie zastępuje kontroli dostępu, ale pozwala zrozumieć historię systemu bez analizowania czasu modyfikacji plików.
Prostota flat-file jest zaletą tylko wtedy, gdy wszystkie operacje zapisu mają jasno określone granice i zachowanie awaryjne.
