|
@@ -40,20 +40,28 @@ Schlankes PHP-Flatfile-Projekt für einen digitalen Mitgliedsantrag (deutsches F
|
|
|
2. Apache verwenden (mit aktiviertem `mod_rewrite`) und `AllowOverride All` für das Projekt sicherstellen.
|
|
2. Apache verwenden (mit aktiviertem `mod_rewrite`) und `AllowOverride All` für das Projekt sicherstellen.
|
|
|
3. Document Root auf das Projekt-Root setzen.
|
|
3. Document Root auf das Projekt-Root setzen.
|
|
|
4. Schreibrechte für `storage/` sicherstellen (mind. Webserver-User).
|
|
4. Schreibrechte für `storage/` sicherstellen (mind. Webserver-User).
|
|
|
-5. Konfiguration anpassen:
|
|
|
|
|
|
|
+5. Lokale Konfiguration aus Samples erzeugen:
|
|
|
|
|
+ - `cp config/app.sample.php config/app.php`
|
|
|
|
|
+ - `cp config/mail.sample.php config/mail.php`
|
|
|
|
|
+6. Konfiguration anpassen:
|
|
|
- `config/app.php` (Admin-Passwort, Kontakt, Disclaimer, Retention, Rate Limit)
|
|
- `config/app.php` (Admin-Passwort, Kontakt, Disclaimer, Retention, Rate Limit)
|
|
|
- `config/mail.php` (Absender, Empfänger)
|
|
- `config/mail.php` (Absender, Empfänger)
|
|
|
-6. Admin-Hash setzen:
|
|
|
|
|
|
|
+7. Admin-Hash setzen:
|
|
|
- Auf Server: `php -r "echo password_hash('DEIN-PASSWORT', PASSWORD_DEFAULT), PHP_EOL;"`
|
|
- Auf Server: `php -r "echo password_hash('DEIN-PASSWORT', PASSWORD_DEFAULT), PHP_EOL;"`
|
|
|
- Ergebnis in `config/app.php -> admin.password_hash`
|
|
- Ergebnis in `config/app.php -> admin.password_hash`
|
|
|
- Danach `password_plain_fallback` entfernen/leer setzen.
|
|
- Danach `password_plain_fallback` entfernen/leer setzen.
|
|
|
-7. Cronjob einrichten (täglich):
|
|
|
|
|
|
|
+8. Cronjob einrichten (täglich):
|
|
|
- `php /pfad/zum/projekt/bin/cleanup.php`
|
|
- `php /pfad/zum/projekt/bin/cleanup.php`
|
|
|
|
|
|
|
|
|
|
+Hinweis:
|
|
|
|
|
+- `config/*.sample.php` sind versionskontrollierte Vorlagen.
|
|
|
|
|
+- `config/app.php` und `config/mail.php` sind lokale Produktivdateien und werden per `.gitignore` nicht versioniert.
|
|
|
|
|
+
|
|
|
## Sicherheitshinweise
|
|
## Sicherheitshinweise
|
|
|
|
|
|
|
|
- CSRF aktiv auf POST-Endpunkten.
|
|
- CSRF aktiv auf POST-Endpunkten.
|
|
|
- Honeypot + Rate Limit aktiv.
|
|
- Honeypot + Rate Limit aktiv.
|
|
|
|
|
+- Rate Limit fuer Tests deaktivierbar ueber `config/app.php -> rate_limit.enabled = false`.
|
|
|
- Uploads werden auf Typ, MIME und Größe geprüft.
|
|
- Uploads werden auf Typ, MIME und Größe geprüft.
|
|
|
- Interne Ordner (`config`, `src`, `storage`, `bin`, `docs`) werden per `.htaccess` blockiert.
|
|
- Interne Ordner (`config`, `src`, `storage`, `bin`, `docs`) werden per `.htaccess` blockiert.
|
|
|
|
|
|