A confiabilidade de $_SERVER['REMOTE_ADDR']
O $_SERVER['REMOTE_ADDR'] é uma variável vital no desenvolvimento web, fornecendo o endereço IP do cliente que inicia uma solicitação HTTP. No entanto, há um equívoco comum de que esse valor pode ser facilmente falsificado, levando a preocupações sobre sua confiabilidade.
O $_SERVER['REMOTE_ADDR'] pode ser confiável?
Sim, geralmente é seguro confiar no valor $_SERVER['REMOTE_ADDR']. Representa o endereço IP da conexão TCP do cliente e não pode ser modificado alterando os cabeçalhos HTTP. Isso ocorre porque o endereço IP é uma propriedade da conexão TCP/IP e não é transmitido como parte dos cabeçalhos HTTP.
Potenciais armadilhas
No entanto, há uma exceção importante a esta regra. Se o seu servidor estiver atrás de um proxy reverso, o REMOTE_ADDR representará o endereço IP do servidor proxy, não do cliente. Nesse caso, o endereço IP do cliente será incluído em um cabeçalho HTTP, normalmente X-Forwarded-For.
Por exemplo, se o seu servidor estiver atrás de um proxy reverso com o endereço IP 111.111.111.111, solicitações para seu servidor parecerá originar-se desse endereço IP. Para obter o endereço IP do cliente neste cenário, você precisaria examinar o cabeçalho X-Forwarded-For.
No entanto, na maioria dos cenários comuns em que você recebe solicitações HTTP diretamente de clientes sem um proxy reverso, confiando $_SERVER['REMOTE_ADDR'] é uma abordagem confiável para determinar o endereço IP do cliente.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3