Verwaltung von Backend Konfigurationen
Konfigurationen aus dem Programmcode, insbesondere Passwörter und andere sensible Daten, auslagern. In dem Zuge sollten die Konfigurationen auf aufgeräumt und erweitert werden.
Auf die ursprünglich angedachte Verschlüsselung von Passwörtern wird verzichtet, da diese sowieso außerhalb des Web-Roots ausgelagert werden sollen und zur Laufzeit sowieso entschlüsselt werden müssen. Es bringt sowohl bei einem Angriff auf die Anwendung wie auch auf den Webserver keinen Sicherheitsgewinn.
Aufbau
-
/api/config
-
config.desc.de.php
- Beschreibung der Einstellungsoptionen (wird nicht lokal geändert) -
default.conf.php
- Default-Werte für die Einstellungen (wird nicht lokal geändert) -
path.conf.php
- Optionale Datei zum Überschreiben des Standard-Pfads für lokale Konfigurationen (/var/www/secdoc/
) (wird nicht ins Repo hinzugefügt, also keine Konflikte)
-
-
/lib/Config
-
ConfigLoader.php
- Klasse zum Laden und Mergen der Einstellungen -
ConfigManager.php
- Klasse zur Verwaltung der Konfigurationen (Auflistung, Prüfung neuer Werte, Speicherung)
-
-
/var/www/secdoc
-
local.conf.php
- Lokale Konfigurationsdatei zum Überschreiben der Einstellungen
-
ToDo:
-
Umstrukturierung der Konfiguration (Array in Container anstatt globale Werte) -
Umstrukturierung der Konfigurationsdateien, damit möglichst keine Konflikte bei Git Pull entstehen (siehe Struktur oben) -
Anleitungen/Beispiele für Konfiguration => Erklärung für die Werte; ermöglicht Anpassung in Oberfläche -
Einrichtung der Konfiguration im Installationsskript (insbesondere=> #97path.conf.php
) -
Einrichtung der Konfiguration in SecDoc-Oberfläche=> #6