# ADR-42 — L'IP del client è l'ultimo elemento di `X-Forwarded-For` - **Stato:** Accettata - **Area:** Account, amministrazione e sicurezza - **Fonte di verità per:** la scelta di progetto descritta qui sotto; i requisiti (`PREFISSO-NN`) che la attuano stanno nei documenti di dominio, indicati nelle *Conseguenze*. ## Decisione **L'IP del client è l'ultimo elemento di `X-Forwarded-For`**, e Caddy sovrascrive l'header con il vero indirizzo del peer. Un solo proxy fidato sta davanti all'applicazione, che non è esposta direttamente. - *Motivazione:* il primo elemento è scelto dal client; leggerlo rendeva aggirabile ogni controllo per IP (B-54). Basta una delle due misure. *Codice:* `app/api/client_ip.py:client_ip` · `Caddyfile` · *Test:* `tests/unit/test_client_ip.py`, `tests/unit/test_caddyfile_security_headers.py::test_forwarded_for_is_overwritten_with_the_real_peer`