Le intestazioni aggiuntive (solitamente identificabili da una convenzione obsoleta dell'uso di X- come prefisso) sono solo una convenzione. E sono modificabili da chiunque abbia accesso alla connessione in chiaro tra client e server.
Quindi la presenza di X-Forwarded-for (o "Via", o alcune altre varianti) non è un indicatore affidabile dell'IP reale. L'assenza di tale intestazione non è un indicatore di una connessione diretta. OTOH puoi attribuire un significato alla presenza di tale intestazione in una richiesta HTTPS.
Se stai cercando di rapinare una banca e la banca ignora l'indirizzo del cliente in presenza di un'intestazione X-Forwarded-For, allora ti ha fornito un modo molto semplice per coprire i tuoi percorsi.
È possibile, anche se molto difficile , per falsificare l'indirizzo" da "che appare nei pacchetti TCP / IP. Di solito, può essere considerato attendibile come un endpoint preciso (ma il client effettivo potrebbe trovarsi a un indirizzo diverso utilizzando questo dispositivo come router / proxy NAT).
I know that [tor] proxy receives my request and forward them on its behalf, why doesn't X-Forwarded-For IP do the same ?
In primo luogo X-Forwarded-For è un po 'di testo nella tua richiesta mentre tor è un'infrastruttura di rete e protocolli associati. In secondo luogo, il contesto in cui viene aggiunta l'intestazione è quando le connessioni vengono inviate tramite un proxy che riassembla il flusso di pacchetti, quindi può eseguire un numero di operazioni sulla richiesta, che può includere l'invio della richiesta all'host di origine.