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

12

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

user4052054
источник
@isanae Связанные: superuser.com/q/1013630/326546
kasperd
Лучше сделайте свой бот неотличимым от законных пользователей
Хаген фон Айцен

Ответы:

21

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

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

Zypher
источник
2
Что сказал Зайфер. Говоря как кто-то, кто отслеживал жалобы, отправленные на abuse@unnamedacademicinstitution.edu, мы, как правило, очень хотели найти ответственного за то, чтобы они разблокировали публичный IP. (Студенты колледжа обожают делиться музыкой с коллегами. RIAA с радостью связывается по этому поводу с насилием@whever.edu.)
Кэтрин Вилльярд,
... если в вашем боте нет ничего уникального, например, передать токен доступа или уникальный идентификатор браузера.
simpleuser
1
Это не отвечает на вопрос о том, как эти сайты обнаруживают ботов. На самом деле, кажется, что если вы достаточно замедлите работу своего бота (а это будет не так уж и много), это будет на самом деле неотличимо от правильного использования целой группой студентов колледжа.
Wildcard
1
Чтобы расширить комментарий @ KatherineVillyard. Официально следя за сетью учреждения, если до блокировки никто не связывался с нами, а ресурс, от которого мы блокировались, регулярно использовался, мы обращались к ним, чтобы исправить проблему. Обычно они были готовы разблокировать нас, если бы мы решили это с нашей стороны. Это означало преследование источника насилия. Будучи Википедией, даже если они не обращаются к вашему учреждению, ваше учреждение, скорее всего, изучит их, как только они поймут, что попали в черный список. Этот, казалось бы, безобидный запрет может быстро превратиться в изгнание.
Бекон Брэд
1
@Wildcard FWIW большинство мест не скажут вам, как они обнаруживают ботов просто потому, что это просто заставит авторов ботов, которых они ловят, изменить ситуацию. Тем не менее, есть много других сигналов, кроме скорости запросов на обнаружение ботов. Но большинству мест будет плевать, если вы хорошо играете, не занимаетесь чем-то дерьмовым или напрягаете ресурсы. Просто не стоит гоняться за каждым маленьким ботом.
Zypher
1

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

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

Carcer
источник
1
Это весьма вероятно; многие университеты и, по крайней мере, одна целая страна, подключаются через прокси-сервер и добавляют X-Forwarded-For
Майкл Хэмптон
Интересный. Лично я был бы удивлен, если бы компания настроила свои веб-прокси для этого, поскольку она предоставляет некоторую (по общему признанию тривиальную) информацию о вашей внутренней сети, но я полагаю, что это зависит от организации.
Carcer
@Carcer, это не обязательно должен быть реальный внутренний IP-адрес, просто то, что согласовано для каждого пользователя прокси.
Ян Рингроз
0

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

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

Если у вас есть соединение с сервером, вы можете делать столько запросов, сколько пожелаете, администратор веб-сервера может настроить, сколько запросов обрабатывать.

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

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

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

Фил Ханнент
источник