1.4 KiB
1.4 KiB
Issue #43 – Offene Redirects via REQUEST_URI fixen
Komplexität: S (Small)
$_SERVER['REQUEST_URI']durch festen Pfad ersetzen- Geschätzter Aufwand: < 10 Min
Analyse
HomeController nutzt $_SERVER['REQUEST_URI'] an 3 Stellen fuer Redirects:
- Nach Honeypot-Fang:
header('Location: ' . $_SERVER['REQUEST_URI'] . '#form-result'); - Nach erfolgreichem Mail-Versand:
header('Location: ' . $_SERVER['REQUEST_URI'] . '#form-result'); - Bei Fehlern:
header('Location: ' . $_SERVER['REQUEST_URI'] . '#form-result');
Da alle Redirects zur Startseite + Anker fuehren, kann REQUEST_URI durch festen Pfad ersetzt werden.
Architektur-Entscheidung
Alle 3 Vorkommen von $_SERVER['REQUEST_URI'] ersetzen durch:
header('Location: /#form-result');
Das ist sicher, da das Kontaktformular nur auf der Startseite existiert.
Akzeptanzkriterien
- Kein
$_SERVER['REQUEST_URI']mehr in Redirects - Redirect fuehrt korrekt zur Startseite mit #form-result Anker
- PRG-Pattern funktioniert weiterhin (Erfolg/Fehler-Nachrichten)
Abhängigkeiten
Keine. Unabhaengig von anderen Issues.
Edge Cases
- Falls das Formular spaeter auf anderen Seiten eingebaut wird:.Relative Pfade anpassen. Aktuell nur Startseite.
- Query-Parameter gehen verloren – aber das ist ok, da PRG ueber Session arbeitet.
Sicherheitsrisiken
- Keine. Fester Pfad ist per Definition sicher gegen Open Redirects.