Ir para conteúdo
Fórum Script Brasil
  • 0

PROXY Detect 2.0


RodrigoGomes

Pergunta

Bom pessoal, fiz este script que detecta se o usuário esta usando proxy, com 4 tipos de modalidades.

Basicamente apenas Elite Proxy (super anônimo proxy) conseguiria passar pelo script.

<?php
function proxy_detect ($null) {
$ip=$_SERVER['REMOTE_ADDR'];
if($_SERVER['HTTP_X_FORWARDED_FOR']){
return true;
}elseif ($_SERVER['HTTP_VIA']){
return true;
}elseif ($_SERVER['HTTP_PROXY_CONNECTION']){
return true;
}elseif(@fsockopen($ip,80,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,8080,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,6588,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,8000,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,3128,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,3127,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,3124,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,1080,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,553,$errstr,$errno,0.5)){
return true;
}elseif(@fsockopen($ip,554,$errstr,$errno,0.5)){
return true;
}else{
return false;
}
}

if(proxy_detect($null) == false){
echo 'Nenhum proxy detectado.';
}else{
echo 'Proxy DETECTADO!';
}
?>

Recomendo que utilizem apena onde realmente precisa, devido a verificação de cada porta de proxys, ele demora a carregar o script.

Se alguém tiver alguma dica de como melhora-lo ou algo que eu esteja esquecendo, por favor, compartilhe.

Testando o script:

Link: http://www.l2ouro.com/proxy.php

Proxys:

http://zend2.com/

http://www.webproxyonline.info/

http://bind2.com/

http://www.nedproxy.com/

Abraços!

algum moderador após avaliar o script, pode mover para repositório de scripts? obrigado.

Editado por Vampyro
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Melhorei um pouco a função e adicionei mais opções de verificação de proxy.

PROXY Detection 2.0

<?php
function proxy_detect ($null) {
$proxyports=array(80,8080,6588,8000,3128,3127,3124,1080,553,554);
for ($i = 0; $i <= count($proxyports); $i++) {
if(@fsockopen($_SERVER['REMOTE_ADDR'],$proxyports[$i],$errstr,$errno,0.5)){
$sockport=true;
}
}
if(
    $_SERVER['HTTP_FORWARDED']
 || $_SERVER['HTTP_X_FORWARDED_FOR']
 || $_SERVER['HTTP_CLIENT_IP']
 || $_SERVER['HTTP_VIA']
 || $_SERVER['HTTP_XROXY_CONNECTION']
 || $_SERVER['HTTP_PROXY_CONNECTION']
 || $sockport == true
)
{
return true;
}else{
return false;
}
}

if(proxy_detect($null) == false){
echo 'Nenhum proxy detectado.';
}else{
echo 'Proxy DETECTADO!';
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...