Verifica / rilevamento qualità proxy / VPN

1

C'è un modo per creare uno script che rilevi o valuti i proxy come il software di rilevamento proxy di Maxmind?

Ho già provato a usare questo codice, ma non rileva tutti i proxy, in effetti rileva una quantità di proxy molto bassa, mentre Maxmind può rilevare molto di più.

 if(
        !gethostbyaddr($_SERVER['REMOTE_ADDR'])
        || gethostbyaddr($_SERVER['REMOTE_ADDR']) == "."
        || !$_SERVER['HTTP_ACCEPT_ENCODING']
        || $_SERVER['HTTP_X_FORWARDED_FOR']
        || $_SERVER['HTTP_X_FORWARDED']
        || $_SERVER['HTTP_FORWARDED_FOR']
        || $_SERVER['HTTP_VIA']
        || $_SERVER['HTTP_FORWARDED']
        || $_SERVER['HTTP_CLIENT_IP']
        || $_SERVER['HTTP_FORWARDED_FOR_IP']
        || $_SERVER['VIA']
        || $_SERVER['X_FORWARDED_FOR']
        || $_SERVER['FORWARDED_FOR']
        || $_SERVER['X_FORWARDED FORWARDED']
        || $_SERVER['CLIENT_IP']
        || $_SERVER['FORWARDED_FOR_IP']
        || $_SERVER['HTTP_PROXY_CONNECTION']
        || in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554))
        || @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 0)
        || !$_SERVER['HTTP_CONNECTION']
    )
    {
        echo 'proxy';
    }
    else
    {
        echo 'no proxy';
    }

Qualche soluzione?

    
posta user1406071 16.03.2013 - 23:00
fonte

2 risposte

3

Non esiste un modo sicuro per rilevare l'utilizzo di proxy / VPN. A parte quello che hai fatto (che non catturerà molti utenti tbh), il più grande successo per te sarà una lista nera IP (che è molto probabilmente il modo in cui maxmind sta rilevando i proxy).

Ecco alcuni siti che offrono la lista nera IP (non ho esperienza con nessuno di essi):

Ci sono altri trucchi che puoi fare per provare a rilevare i proxy web (come google translate, ecc.), che a volte aggiungono intestazioni extra. Il problema è che dovresti aggiungere casi speciali per tutti quelli che fanno (e la maggior parte non lo fanno in ogni caso).

    
risposta data 16.03.2013 - 23:20
fonte
0

So che questo post è vecchio solo per qualcuno che trova questo post su google

Controlla su dnsbl molti server sono liberi di usare

Uso pochi server dnsbl e molti proxy vpn e tor sono bloccati sul mio sito web Raccomando di mantenere per un tempo specifico in un database l'utente ip in modo tale che quando continua a visitare il tuo sito web può caricarlo più velocemente. Il mio ha impiegato da 5 a 10 secondi prima di farlo, ora con il DB ogni utente carica più velocemente dopo il primo caricamento

1- controlla il tuo DB se trovi l'ip. (è all'interno passare al punto 2, non andare al passaggio 4)

2- se è all'interno, controlla la data aggiunta se supera il tuo limite di tempo, cancella l'ip e invia nuovamente una richiesta (se è nel tuo limite di tempo vai al punto 3, il cavalcavia passa al punto 4)

3- controlla nel DB se l'ip è bloccato (sì ferma lo script lì, non carica la pagina).

4- ip obsoleto o no all'interno del DB invia una richiesta al server dnsbl.

5- controlla la sua risposta e aggiunge l'ip nel DB con l'ora corrente e se è bannato o no

6- carica la pagina come il passaggio 3

    
risposta data 03.04.2015 - 09:38
fonte

Leggi altre domande sui tag