Как стопроцентно определить пользовался ли посетитель моего сайта cgi-proxy или нет?

mity

Новичок
Определить наличие cgi-proxy можно за несколько запросов, с применением JavaScript и сессий:
0) Проверка явных заголовков прокси.
1) Проверка ip клиента по внутренней динамической базе cgi-прокси, кто замечен сразу отшиваем.
2) Запускаем сессию.
Если сессия новая, или нет переменой указывающей на отсутствие прокси, то выдаём ему на пустую страницу с многократно зашифрованным JavaScrip (наподобие, тех что используются во всплывающих окнах), с запросом на основной сайт. Я не сталкивался с тем, чтобы cgi-прокси расшифровывали скрипты, вкрайняк можно получше зашифровать, причём рамдомно. Эта страница автоматически редиректится через некоторое время на саму себя.
3) Специальный скрипт проверяет ip клиента, с которого поступил запрос от JavaScript и если ip отличаются, то можно с большой уверенностью сказать, что клиент использует cgi-прокси(если ip отличается до 32, то скорее всего прокси обычный).Если определили прокси, то добавляем его ip в динамическую базу cgi-прокси.
Если ip одинаковые, то записываем в сессию пользователя, что он не использует cgi, этот ip можно добавить в базу хороших ip.

Если запрос от JavaScript не пришёл, то либо JavaScript отключён, либо пользователь хитро шифруется. Если сайт должен использовать JavaScript, то можно спокойно банить такого пользователя и добавлять ip в базу cgi прокси.
Для защиты от ложных блокировок, в таблице cgi прокси нужно ввести столбец вероятность от 0 до 1, и блокировать тех, где вероятность >0.5 и динамически её корректировать.

Вместо или параллельно с JavaScript можно использовать Flash.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
о том, что все web-прокси режут javascript-ы, mity не подозревает
а банить всех юзеров, которые заходят с мобильных, все поисковые системы и т.д., кто не поддерживает js - это супер идея
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
у меня есть идея получше:
для доступа к сайту требовать идентификацию пользователей по индивидуальному ssl-ключу,
а ключ выдавать после личной регистрации в офисе компании с предъявлением паспорта.
враг не пройдет!
 

dimagolov

Новичок
grigori, ты прав, но не во всем. подобная параноя требуется для обеспечения уникальности юзера, защиты от накруток и т.п. то есть ее можно ставить там, где перечисленные клиенты или не нужны или малоинтересны. проблема в том, что ТС не рассказал, зачем ему такое понадобилось.

тут аргумент на самом деле другой. куда проще вместо использования проксей чистить куки и переустанавливать соединение ADSL получая новый IP, так что польза от всего этого просто сомнительна.
 

Ragazzo

TDD interested
А лучше еще использовать ключ длинной в 256 бит...вот будет верх криптографии и защиты ))
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я понимаю великую красивую идею ... уникальность пользователя, реальные посты, честные выборы, грамотные заказчики ...

давайте лучше сразу признаем, что это невозможно, а чистота достигается только непрерывной работой по ее поддержанию группой, численность которой сопоставима с числом посетителей
хоть на форуме, хоть в макдональдсе

куда проще заходить на сайт с тысяч обычных открытых проксей
или даже с ботнетов, чтобы ни по каким спискам и никакими скриптами не отследили
 
Сверху