Как это можно сделать средствами Апача и/или iptables или других инструментов? (RH 8.0) Чтобы покузявее это все выглядело. Знает ли уважаемое товарищество какие-то стандартные решения? У меня напрашивается мысля перед тем как дать доступ к контенту сайта запрашивать типичные для проксирования порты (8080, 3128, ...) и откидывать при их отклике, но тогда есть риск потери немеренной кучи клиентов с нормальными проксями. Смотреть на HTTP_FORWARD и если порт прокси открыт, но форвард пустой - отлупывать? Собирать списки аноним-прокси скриптами? Геморрой, да и обновляются часто. Короче, есть какие-то стройные решения сей проблемы, хотя бы на 90%?
если тебе это действительно "нужно больше жизни" (блин, зачем, интересно?) -- пиши малэньки програм (или адаптируй готовый) для проверки собсна анонимности прокси. то бишь при каждом запросе (или каждом новом ИП-адресе клиента -- но тогда добавляется логики по отслеживанию его "новизны") надо будет тыркаться в стандартный порт прокси (80, 8080, 3128, с нестандартными зае..сся) и пытацца без авторизации выполнить нейкий GET что-нить. Получишь 407 (нуждаемся в прокси-аутентификации) или еще какой-нить "отрицательный ответ" -- хорошая проксь, 200 или что-либо еще -- плохая, TCP RST -- нету никакой прокси :). Дальше соль и перец по вкусу (как не пускать плохих юзеров на веб-сервер).
Посколку как раз около 90% проксей работают на стандартных портах, с нужной тебе точностью задача решается именно вышеописанным способом.Насчет заголовков:
1. HTTP_FORWARD могут убрать и админы неанонимных прокси (вообще, я не уточнила, что ты понимаешь под _анонимным прокси, с этого надо было и начинать разговор...)
2. владельцы полностью анонимных прокси тоже не дураки и стараются убирать все "нехорошие" заголовки: Via, X-FORWARDED-FOR, Cache-Control.З.Ы.: работать будет МЕДЛЕННО.
З.З.Ы.: ограничивать доступ через анонимный прокси -- это СВИНСТВО!!! каждый чел имеет право на прайваси.