left4me/l4d2web/routes
mwiegand 2902c9cc82
harden(l4d2web): auth/session — clear on login+logout, constant-time CSRF, role-change invalidation
- login_user clears any pre-login session state before stamping user_id/pw_changed_at/admin so a fixated cookie value cannot smuggle data past the login boundary
- logout_user now session.clear()s instead of only popping user_id, removing leftover pw_changed_at/admin markers
- CSRF token comparison uses hmac.compare_digest
- load_current_user rejects sessions where the stamped admin flag no longer matches the user row, preventing a demoted admin from retaining elevated access until next password change (backward-compatible: sessions issued pre-upgrade lack the marker and pass through until next login)
2026-05-14 22:18:46 +02:00
..
__init__.py chore(l4d2): flatten component layout 2026-05-05 23:47:06 +02:00
auth_routes.py harden(l4d2web): auth/session — clear on login+logout, constant-time CSRF, role-change invalidation 2026-05-14 22:18:46 +02:00
blueprint_routes.py feat(l4d2-web): blueprint rename moves to footer modal — matches overlay/server pattern 2026-05-09 01:37:29 +02:00
console_routes.py refactor(l4d2-web): tighten console route limit test and dedupe is_error 2026-05-14 21:35:22 +02:00
files_routes.py feat(files-overlay): user-managed file content as a third overlay type 2026-05-09 18:59:32 +02:00
job_routes.py feat(l4d2-web): managed global map overlays with daily refresh 2026-05-08 08:05:14 +02:00
log_routes.py feat(l4d2-web): server identity by id, name as display label 2026-05-08 19:22:09 +02:00
overlay_routes.py feat(files-overlay): user-managed file content as a third overlay type 2026-05-09 18:59:32 +02:00
page_routes.py feat(l4d2-web): backend for RCON console with persisted transcript 2026-05-14 21:32:13 +02:00
profile_routes.py profile: happy-path + cross-session invalidation tests 2026-05-11 21:58:26 +02:00
server_routes.py feat(l4d2-web): accept hostname on server update, default empty on create 2026-05-13 14:29:53 +02:00
workshop_routes.py workshop_routes: narrow refresh's steam exception handler 2026-05-11 23:08:41 +02:00