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.
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.