+1

Como Detectar o Uso de Proxy em Votações

criado por Marcus Vinícius E. Zamignani em 01/04/2002 9:39am
Essa variável é $HTTP_X_FORWARDED_FOR.

Em $HTTP_X_FORWARDED_FOR vem os IPs a partir do caminho final do redirecionamento separados por ","

Exemplo:

Eu configuro meu browser para acessar um arquivo PHP utilizando um proxy exemplo 10.1.1.2 sendo o meu ip 10.1.1.1 então consequentemente seria repassado ao script PHP o seguinte valor:

$HTTP_X_FORWARDED_FOR = "10.1.1.1 , 10.1.1.2"

Não sei como é criada $HTTP_X_FORWARDED_FOR, pois não conheço a fundo o protocolo HTTP, se for como $HTTP_REFERER continua existindo maneiras de se burlar o sistema caso seja utilizado $HTTP_X_FORWARDED_FOR, futuramente vou publicar um artigo sobre o uso de libcurl, o que possibilita também testar se um endereço IP é um proxy, caso algum colega estiver lendo, resolva pesquisar e obtenha uma resposta deixe um comentário pra nós ;o)

O que eu posso fazer então para barrar uso de proxy com $HTTP_X_FORWARDED_FOR ?

Bem, você pode verificar se $HTTP_X_FORWARDED_FOR não for vazio é porque há uso de proxy, ou se desejar, você pode gravar o endereço IP do usuário que utiliza o proxy no lugar do endereço do proxy.

Exemplos de Código

<?php
// Simples checagem...

if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "") {
	echo "opa uso de proxy";
}

// Pegando o IP do client no lugar do proxy
list($IP,) = explode(",",trim($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]));
$IP = (empty($IP)?$HTTP_SERVER_VARS["REMOTE_ADDR"]:$IP);

echo $IP;
?>

Mais uma vez, se alguém tiver mais detalhes sobre esse tipo de checagem envie um comentário!

[]´z

Marcus

Comentários:

Mostrando 1 - 4 de 4 comentários
Vc pode usar um programa chamado (HTTP TUNNEL) nele vc configura o proxy e a porta que ele usa para acesso. Daí vc configura o Mirc, ICQ...o que seja... para acessar o 127.0.0.1 na porta de socket5, assim vc não terá problemas, pois tudo vai ser passado para porta 80, ou seja a da internet, impossivel de ser travada, a não ser que tirem a internet do ar. Essa falha na segurança, não dá pra ser bloqueada, estive recentemente conversando com um grupo de administradores de redes de varias universidades para solucionar este problema, porém ele ainda está sem solução. Então aproveite, basta achar o crack da versão atual do sistema. A ultima estava na 7.0 que o crack está no www.crackz.ws, Espero ter ajudado. Atenciosamente!!! Diogo.
11/02/2004 6:34pm (~20 anos atrás)

A função empty() verifica se a variavel existe e se naum é nula automaticamente, tente usa-la junto desse codigo

Ricardo
11/08/2002 6:47pm (~21 anos atrás)

A função empty() verifica se a variavel existe e se naum é nula automaticamente, tente usa-la junto desse codigo

Ricardo
11/08/2002 6:46pm (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)