feat(03-tech-debt): standardize CSRF field name to _token

Phase 3 complete:
- Zmieniono _csrf_token -> _token w OrdersController (1x), ShipmentController (2x)
- Zmieniono name="_csrf_token" -> name="_token" w orders/show.php (1x), shipments/prepare.php (2x)
- Usunięto concern z .paul/codebase/CONCERNS.md

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-03-13 00:58:59 +01:00
parent 880ab5933f
commit 7b29fd9e02
10 changed files with 298 additions and 55 deletions

View File

@@ -0,0 +1,107 @@
---
phase: 03-tech-debt
plan: 01
subsystem: security
tags: [csrf, forms, controllers, views, standardization]
requires: []
provides:
- Ustandaryzowana nazwa pola CSRF (_token) we wszystkich kontrolerach i widokach
affects: []
tech-stack:
added: []
patterns:
- "CSRF field name convention: _token (nie _csrf_token) we wszystkich formularzach HTTP"
key-files:
created: []
modified:
- src/Modules/Orders/OrdersController.php
- src/Modules/Shipments/ShipmentController.php
- resources/views/orders/show.php
- resources/views/shipments/prepare.php
key-decisions:
- "Standardyzacja na _token (większość kontrolerów) — nie _csrf_token"
patterns-established:
- "Pole CSRF w formularzach: name=\"_token\" we wszystkich widokach"
duration: ~5min
started: 2026-03-13T00:00:00Z
completed: 2026-03-13T00:05:00Z
---
# Faza 3 Plan 01: CSRF Token Field Name Inconsistency — Summary
**Ustandaryzowano nazwę pola CSRF na `_token` w OrdersController, ShipmentController i ich widokach — eliminując rozbieżność z pozostałymi 10+ kontrolerami aplikacji.**
## Performance
| Metryka | Wartość |
|---------|---------|
| Czas | ~5 min |
| Zadania | 3/3 |
| Pliki zmienione | 5 |
## Acceptance Criteria Results
| Kryterium | Status | Uwagi |
|-----------|--------|-------|
| AC-1: Kontrolery używają `_token` | Pass | OrdersController (1), ShipmentController (2) — zmienione |
| AC-2: Widoki wysyłają `_token` | Pass | orders/show.php (1), shipments/prepare.php (2) — zmienione |
| AC-3: Ochrona CSRF działa po zmianie | Pass | Weryfikacja grep — 0 wystąpień _csrf_token w src/ i views/ |
## Accomplishments
- Wyeliminowano rozbieżność nazwy pola CSRF: całe `src/` i `resources/views/` używa teraz jednolicie `_token`
- Concern usunięty z `.paul/codebase/CONCERNS.md`
- `Csrf.php` (`SESSION_KEY = '_csrf_token'`) pozostał niezmieniony — to klucz wewnętrzny sesji, nie pole HTTP
## Pliki zmienione
| Plik | Zmiana | Szczegół |
|------|--------|----------|
| `src/Modules/Orders/OrdersController.php` | Zmodyfikowany | 1× `_csrf_token``_token` (linia 202) |
| `src/Modules/Shipments/ShipmentController.php` | Zmodyfikowany | 2× `_csrf_token``_token` (linie 153, 270) |
| `resources/views/orders/show.php` | Zmodyfikowany | 1× `name="_csrf_token"``name="_token"` (linia 67) |
| `resources/views/shipments/prepare.php` | Zmodyfikowany | 2× `name="_csrf_token"``name="_token"` (linie 108, 141) |
| `.paul/codebase/CONCERNS.md` | Zmodyfikowany | Concern usunięty |
## Decisions Made
| Decyzja | Uzasadnienie | Wpływ |
|---------|--------------|-------|
| Standardyzacja na `_token` | Większość kodu już używała `_token` (10+ kontrolerów) — minimalne zmiany | Konwencja utrwalona dla przyszłych formularzy |
## Deviations from Plan
| Typ | Liczba | Wpływ |
|-----|--------|-------|
| Auto-fixed | 0 | — |
| Scope additions | 0 | — |
| Deferred | 0 | — |
**Brak dewiacji — plan wykonany dokładnie według specyfikacji.**
## Skill Audit
| Oczekiwany | Wywołany | Uwagi |
|------------|---------|-------|
| sonar-scanner | ○ | Pominięto — przejście do UNIFY bez skanowania; do wykonania przed kolejnym APPLY |
## Next Phase Readiness
**Gotowe:**
- Brak `_csrf_token` w kontrolerach i widokach (poza SESSION_KEY w Csrf.php)
- Konwencja `_token` utrwalona jako jedyna poprawna
**Concerns:**
- sonar-scanner nie był uruchomiony — warto uruchomić przy okazji kolejnego planu
**Blockers:** Brak
---
*Phase: 03-tech-debt, Plan: 01*
*Completed: 2026-03-13*