Un'intestazione di identità HTTP è un'intestazione di richiesta che trasporta un valore simile a un nome utente, come un nome di accesso o un ID account. Di per sé, è solo dati inviati in una richiesta; non è la prova che il mittente sia davvero quell'utente. Se un'applicazione tratta un'intestazione controllata dal client come identità fidata, un attaccante può impersonare un altro account e aggirare l'autenticazione o fingersi un utente con privilegi superiori.
Questo è importante nei sistemi che si basano su reverse proxy o sull'autenticazione del server web. In una progettazione sicura, il proxy autentica l'utente e poi imposta campi di identità lato server come REMOTE_USER, rimuovendo al contempo eventuali intestazioni di identità in ingresso provenienti dal client. Gli difensori non dovrebbero mai accettare direttamente dalla rete un'intestazione con il nome utente senza controlli rigorosi, come allowlist del proxy o un segreto condiviso. La regola è semplice: l'identità deve essere attestata da infrastrutture fidate, non rivendicata dal richiedente.


