Il modo più comune per determinare il proxy è analizzare le intestazioni come HTTP_VIA, HTTP_X_FORWARDED_FOR, or HTTP_FORWARDED
(che hai già menzionato). Almeno, quasi tutte le applicazioni di rilevamento proxy basate sul Web come questo e questo analizza queste intestazioni per rilevare se la richiesta proviene o meno da un proxy. Prova a visitare quelle applicazioni web usando un proxy anonimo (come Tor) e non saranno in grado di rilevare quelle intestazioni nella richiesta. Questo perché Tor non collega le tipiche intestazioni proxy (come Via or X-Forwarded-For
), o in altro modo modifica le richieste o le risposte HTTP.
Non so di uno standard particolare, ma secondo l'articolo Wikipedia , ci sono 3 tipi di base di proxy a seconda del loro livello di anonimato:
-
Fully anonymous proxies - Such proxies do not change request fields and look like real browser. Your real IP is also hidden of
course. People that administer internet servers will think that you
are not using any proxies.
-
Anonymous proxies - Do not show a real IP but change the request fields, so it is very easy to detect that a proxy is being
used by log analysis. You are still anonymous, but some server
administrators restrict proxy requests.
-
Transparent proxies (not anonymous, simply HTTP) - Change the request fields and they transfer the real IP. Such proxies are not
applicable for security and privacy while surfing on the web. You can
use them only for network speed improvement.