f352555e58a6a802a0c342f87d67a445076ed33f
Sicherungskopien ---------------- intern/neueanfrage-old1.php und -old2.php waren toter Code, aber als .php im Web-Root oeffentlich aufrufbar - inklusive eigener DB- und Mailzugriffe. Auf sie verweist nichts, sie sind jetzt entfernt. Der Stand bleibt ueber die Git-Historie erreichbar. Datenbank-Zugangsdaten ---------------------- Host, Benutzer, Passwort und Datenbankname standen im Klartext in inc/config.inc.php UND in zeiterfassung/inc/config.inc.php, beide versioniert. Sie liegen jetzt in inc/credentials.php, das per .gitignore ausgenommen ist; beide Configs laden es und brechen mit HTTP 500 und einem Log-Eintrag ab, wenn es fehlt, statt sich still ohne Zugangsdaten zu verbinden. inc/credentials.example.php ist als versionierte Vorlage dabei. FTP-Zugangsdaten ---------------- .vscode/ftp-sync.json und .vscode/sftp.json enthalten das FTP-Passwort und waren versioniert - die .gitignore-Eintraege dafuer gab es zwar, sie greifen bei bereits getrackten Dateien aber nicht. Beide sind jetzt per "git rm --cached" aus der Versionierung genommen und bleiben lokal liegen. Die passenden .example-Dateien existieren bereits. Verzeichnisschutz ----------------- inc/ und zeiterfassung/inc/ enthalten ausschliesslich Includes, waren als Teil des Web-Roots aber direkt per URL abrufbar. Beide bekommen eine .htaccess, die den HTTP-Zugriff verweigert. PHP-includes sind davon nicht betroffen, und per HTTP greift nichts auf diese Verzeichnisse zu. Wichtig: das Passwort steht weiterhin in der Git-Historie und wurde bereits gepusht. Diese Aenderung verhindert nur die Weiterverbreitung. Wirksam entschaerft ist es erst, wenn DB- und FTP-Passwort gewechselt werden. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
praxis-creutzburg-web
Languages
PHP
79.3%
JavaScript
17.5%
HTML
1.6%
CSS
0.9%
SCSS
0.6%