Verwaltung von Konfigurationen
Konfigurationen aus dem Programmcode, insbesondere Passwörter und andere sensible Daten, auslagern. Sensible Daten verschlüsseln (evtl. mit https://github.com/defuse/php-encryption) und unnötige alte Konfigurationen aufräumen.
Option 1
Nutzung von .env
Dateien außerhalb des WWW-Verzeichnisses im gleichen Verzeichnis wo auch die DB-Datei und PDF Dokumente abgelegt werden (https://www.codementor.io/@ccornutt/keeping-credentials-secure-in-php-kvcbrk55z). Eine .env.example
mitliefern als Beispielkonfiguration ohne sensible Daten. Ermöglicht bessere Trennung von Code und Konfiguration.
Paket https://github.com/vlucas/phpdotenv kann für PHP Einbindung genutzt werden.
Option 2 (=> Aktuell angestrebte Umsetzung)
Bisherige config.inc.php
als Format beibehalten. Im Hauptverzeichnis nur Beispielwerte laden und am Ende externe Kopie der Konfiguration nachladen.
Auszulagernde Optionen:
- Passwörter
-
Pfade? (Was ist mit Pfad zur
.env
Datei?../.env
funktioniert nicht in allen Umgebungen) - Modulare Optionen (z.B. Auth-Methode)?
- Namen/Texte?
ToDo:
-
Umstrukturierung der Konfiguration (globales Array verwenden, um Namenskonflikte vorzubeugen, z.B.
$CONFIG
(ein Array für alles schwierig => Defaultwerte gehen verloren, wenn nur ein Teil überschrieben wird)) - Anleitungen/Beispiele für Konfiguration
- Einrichtung der Konfiguration im Installationsskript