Как определить использование прокси?

Проверка заголовков HTTP (HTTP Headers)

Прозрачные или не анонимные прокси добавляют в каждый HTTP запрос свой HTTP заголовок выдающий использование прокси, а иногда и информацию о пользователе.
Анализ HTTP заголовков поможет определить использует ли пользователь прозрачный или не анонимный прокси сервер. Отсутствие заголовков не означает что пользователь не использует прокси сервер для соединения. Настройки большинства популярных прокси серверов позволяют отключать передачу информации в заголовках.

На нашем сайте идет проверка следующих заголовков и при их обнаружении информер сообщит о использовании прозрачного или не анонимного прокси сервера:

    'HTTP_VIA',  

    'HTTP_X_FORWARDED_FOR',  
    'HTTP_FORWARDED_FOR',  
    'HTTP_X_FORWARDED',  
    'HTTP_FORWARDED',  
    'HTTP_CLIENT_IP',  
    'HTTP_FORWARDED_FOR_IP',  
    'VIA',  
    'X_FORWARDED_FOR',  
    'FORWARDED_FOR',  
    'X_FORWARDED',  
    'FORWARDED',  
    'CLIENT_IP',  
    'FORWARDED_FOR_IP',  
    'HTTP_PROXY_CONNECTION'

Сканирование портов


Этот метод позволяет косвенно определить подключение через прокси. По сути он основан на сканировании открытых портов IP посетителя. Обычно сканируют самые популярные порты для прокси серверов:

8080,80,81,1080,6588,8000,3128,553,554,4480



На нашем сайте такой проверки нет. Метод очень сомнительный и дает только косвенное основания подозревать использование прокси посетителем.
 

Проверка blacklists

Многие ресурсы попадают в блэклисты из за организации публичных прокси или из за открытой пересылки почты. Для проверки надо отправить запрос к блэклисту используя DNS протокол. Например, если мы хотим проверить IP 7.7.7.7 на DSBL.org надо сделать

lookup 7.7.7.7.list.dsbl.org

На нашем сайте проверка по блэклистам не проводиться.