O troca de informações na Internet é feita pelo “cliente – servidor” modelo. Um cliente envia uma solicitação (quais arquivos ele precisa) e um servidor envia uma resposta (arquivos necessários). Para uma cooperação estreita (compreensão total) entre um cliente e um servidor, o cliente envia informações adicionais sobre si mesmo: uma versão e um nome de um sistema operacional, configuração de um navegador (incluindo seu nome e versão), etc. Essas informações podem ser necessárias para o servidor saber qual página da web deve ser fornecida (aberta) ao cliente. Existem diferentes variantes de páginas da web para diferentes configurações de navegadores. No entanto, desde que as páginas web normalmente não dependam de navegadores, faz sentido ocultar esta informação do servidor web.
O que o seu navegador transmite para um servidor web:
– um nome e uma versão de um sistema operacional
– um nome e uma versão de um navegador
– configuration of a browser (display resolution, color depth, java / javascript support, …)
– Endereço IP de um cliente
– Outras informações
A parte mais importante dessas informações (e absolutamente desnecessária para um servidor web) são as informações sobre o endereço IP. Usando o seu IP é possível saber sobre você o seguinte:
– um país de onde você é
– uma cidade
– nome e e-mail do seu provedor
– seu endereço físico
As informações transmitidas por um cliente a um servidor estão disponíveis (acessíveis) para um servidor como variáveis de ambiente. Cada unidade de informação é um valor de alguma variável. Se alguma unidade de informação não for transmitida, a variável correspondente ficará vazia (seu valor será indeterminado).
Estas são algumas variáveis de ambiente:
Endereço IP REMOTE_ADDR de um cliente
HTTP_VIA se não estiver vazio, um proxy será usado. O valor é um endereço (ou vários endereços) de um servidor proxy, esta variável é adicionada pelo próprio servidor proxy se você usar um.
HTTP_X_FORWARDED_FOR se não estiver vazio, então um proxy será usado. O valor é um endereço IP real de um cliente (seu IP), esta variável também é adicionada por um servidor proxy se você usar um.
HTTP_ACCEPT_LANGUAGE qual idioma é usado no navegador (em qual idioma uma página deve ser exibida)
HTTP_USER_AGENT? assim chamado “um agente de usuários”. Para todos os navegadores, este é o Mozilla. Além disso, o nome e a versão do navegador (por exemplo, MSIE 5.5) e um sistema operacional (por exemplo, Windows 98) também são mencionados aqui.
HTTP_HOST é um nome de servidor web
This is a small part of environment variables. In fact there are much more of them (DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, …). Sua quantidade pode depender das configurações do servidor e do cliente.
Estes são exemplos de valores de variáveis:
REMOTE_ADDR = 194.85.1.1
HTTP_ACCEPT_LANGUAGE = ru
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)
HTTP_HOST = www.webserver.ru
HTTP_VIA = 194.85.1.1 (Squid/2.4.STABLE7)
HTTP_X_FORWARDED_FOR = 194.115.5.5
Anonimato no trabalho na Internet é determinado por quais variáveis de ambiente “esconder” de um servidor web.
Se um servidor proxy não for usado, as variáveis de ambiente terão a seguinte aparência:
REMOTE_ADDR = your IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined
De acordo com como as variáveis de ambiente “escondido” por servidores proxy, existem vários tipos de proxies
Proxies Transparentes
Eles não ocultam informações sobre o seu endereço IP:
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = your IP
A função de tais servidores proxy não é melhorar o seu anonimato na Internet. Sua finalidade é a troca de informações, organização do acesso conjunto à Internet de vários computadores, etc.
Proxies Anônimos
Todos os servidores proxy que ocultam o endereço IP de um cliente de alguma forma são chamados de proxies anônimos.
Proxies Anônimos Simples
Esses servidores proxy não escondem o fato de que um proxy é usado, porém substituem o seu IP pelo seu próprio:
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = proxy IP
Esses proxies são os mais difundidos entre outros servidores proxy anônimos.
Distorcendo Proxies
Assim como os servidores proxy anônimos simples, esses proxies não escondem o fato de que um servidor proxy é usado. No entanto, o endereço IP de um cliente (seu endereço IP) é substituído por outro IP (arbitrário, aleatório):
REMOTE_ADDR = proxy IP
HTTP_VIA = proxy IP
HTTP_X_FORWARDED_FOR = random IP address
High Anonymity Proxies
Esses servidores proxy também são chamados “proxy de alto anonimato“. Em contraste com outros tipos de servidores proxy de anonimato, eles escondem o fato de usar um proxy:
REMOTE_ADDR = proxy IP
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined
Isso significa que os valores das variáveis são os mesmos que se o proxy não fosse usado, com exceção de uma coisa muito importante: O IP do proxy é usado em vez do seu endereço IP.
Resumo
Dependendo dos propósitos, existem proxies transparentes e anônimos. Porém, lembre-se, usando servidores proxy você oculta apenas o seu IP de um servidor web, mas outras informações (sobre a configuração do navegador) ficam acessíveis!