Как сайты обнаруживают ботов за прокси-серверами или в корпоративных сетях

Как большие сайты (например, Википедия) справляются с ботами, которые скрываются за другим IP-маскером? Например, в моем университете все ищут в Википедии, что придает ей значительную нагрузку. Но, насколько мне известно, Википедия может знать только IP-адрес университетского маршрутизатора, поэтому, если я настрою «освобожденного» бота (с небольшой задержкой между запросами), сможет ли Википедия заблокировать моего бота, не запрещая всю организацию? может ли сайт на самом деле запретить IP-адрес за организационной сетью?

12
задан 19 April 2016 в 17:44
3 ответа

Нет, они запретят общедоступный IP-адрес, и все, кто настроен на этот IP-адрес, также будут заблокированы.

Хотя, по крайней мере, в стеке, если мы думаем, что собираемся запретить колледж или что-то в этом роде, мы свяжемся с их контактным лицом, чтобы заставить их выследить преступника и решить проблему.

21
ответ дан 2 December 2019 в 21:33

Сайт не может напрямую запретить IP-адрес, который находится за NAT. Он может действовать на IP-адреса, переданные через неанонимные HTTP-прокси - когда такой прокси перенаправляет запрос наон обычно добавляет этот адрес в заголовок X-Forwarded-For, поэтому, если доступ из вашей частной сети действительно должен проходить через такой прокси, внутренний IP-адрес может быть открыт; однако большинство сайтов (включая Википедию) в любом случае не будут доверять информации в этом заголовке, потому что легко подделать, чтобы указать невиновные IP-адреса или избежать запретов.

Однако существуют и другие методы, которые пытаются однозначно идентифицировать пользователей независимо от IP-адреса. Вы можете запросить у веб-браузера много информации о нем и системе, в которой он работает, например, об агенте пользователя, разрешении экрана, списке плагинов и т. Д. - см. https://github.com/carlo / jquery-browser-fingerprint для практического примера. Вы можете использовать такие отпечатки пальцев для управления доступом, хотя в зависимости от дизайна сайта вы можете иметь возможность взаимодействовать с ним, не задействуя процесс снятия отпечатков пальцев, и даже если вы не можете, бот может предоставить ложные и случайные данные, чтобы избежать постоянный отпечаток пальца, если вы знаете, что такая защита существует. Этот метод контроля также сопряжен с риском ложных срабатываний, особенно когда речь идет о мобильных устройствах, где, вероятно, будет большое количество клиентов, использующих идентичные стандартные клиенты на идентичном стандартном оборудовании (большинство людей, использующих конкретную модель iPhone с определенной версией iOS , например, вероятно, получит тот же отпечаток пальца). Подобное снятие отпечатков пальцев обычно используется только для отслеживания пользователей, а не для обеспечения контроля, но я знаю места, в которых используется снятие отпечатков пальцев для реализации запретов, когда есть опасения, что блокировка IP-адресов будет слишком широкой и может быть эффективной против наивного бота.

1
ответ дан 2 December 2019 в 21:33

Обычно IP-адрес не является достаточной информацией для правильного запрета. Таким образом, продвинутые сети работают высоко в сетевом стеке.

Атака отказа в обслуживании (DoS) (которую вы беспокоитесь о создании) обычно обрабатывается путем ограничения скорости при начальной настройке TCP-соединения. Это означает, что законные пользователи, которые готовы ждать, пройдут через это, тогда как те, которые просто пытаются потреблять ресурсы сервера, замедляются до такой степени, что становятся безвредными. Именно здесь DoS затем превратился в распределенную DoS-атаку (DDoS).

После подключения к серверу вы можете делать столько запросов, сколько захотите, администрация веб-сервера может настроить количество запросов для обработки.

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

Важно быть хорошим гражданином Интернета, поэтому я бы добавил код ограничения скорости для бота.

Также следует отметить, что Википедия предлагает дампы данных, так что траление на сайте действительно не нужно.

0
ответ дан 2 December 2019 в 21:33

Теги

Похожие вопросы