Quem e onde o cabeçalho X-Forwarded-For na solicitação do usuário é adicionado?

0

X-Forwarded-For é um cabeçalho HTTP que é usado para identificar o endereço IP do usuário de origem. Eu queria saber "onde" este cabeçalho é adicionado na solicitação e "quem" realmente adiciona? É o seu próprio navegador? seu ISP? Talvez servidor HTTP? ou o servidor de destino? Da origem ao destino, onde ele está sendo adicionado como, talvez, logo após o seu navegador gerar uma solicitação ou, talvez, após o seu ISP ou um pouco antes do servidor de destino ou "ele é adicionado na solicitação recebida"?

desfalecer
fonte

Respostas:

2

Normalmente, esse cabeçalho é inserido apenas por um proxy de encaminhamento quando há um proxy upstream para identificar o originador, caso contrário, se um proxy de encaminhamento inserisse esse cabeçalho para solicitações pela Internet, normalmente seria considerado um vazamento de informações potencialmente sensíveis. em formação.

Portanto, raramente é usado para proxies encaminhados e usado principalmente por proxies reversos para identificar o cliente baseado na Internet no servidor Web de backend, já que os servidores da web atrás de proxies reversos geralmente vêem todas as conexões como provenientes da interface interna do proxy reverso.

Alternativas para isso são - o Proxy Protocol, que envia esses dados através da conexão antes da solicitação real em um formato diferente - inverte NAT, que mantém o IP do cliente externo na conexão de retorno

Outras vezes você vê X-Forwarded-For, na prática, é onde alguns clientes inserem o cabeçalho para tentar obter privilégios elevados, se o proxy reverso passar o valor, por exemplo.

Adrien
fonte
1

No caso de um proxy de encaminhamento (um proxy usado pelo seu servidor da web), esse cabeçalho pode ser adicionado pelo proxy para informar ao (s) IP (s) do usuário de origem, para que os servidores da web descubram que o IP está fazendo o pedido - que será o proxy - não é o IP que realmente fez o pedido.

No caso de um proxy reverso (colocado na frente de servidores web para fazer cache, TLS, servindo conteúdo estático, etc), este cabeçalho contém o IP do usuário originador como visto pelo proxy reverso (os servidores por trás dele vai ver todos os pedidos provenientes do IP do proxy reverso, então este cabeçalho é essencial para que eles saibam qual é o IP real que fez o pedido).

Obviamente, se nenhum proxy estiver envolvido, este cabeçalho não existe.

André Borie
fonte