Назад | Перейти на главную страницу

Можно ли заблокировать HTTP-трафик с определенных машин?

У меня есть несколько поисковых роботов, и определенный веб-сайт, кажется, через некоторое время временно блокирует трафик. Дело в том, что даже несмотря на то, что у всех клиентов один и тот же внешний IP-адрес (они выходят в Интернет через один и тот же шлюз), он блокирует определенные машины из моей сети. То есть это не простой блок IP-адресов.

Как такое могло случиться? Какое правило можно создать (на веб-сервере, брандмауэре и т. Д.), Чтобы добиться такого поведения? Могут ли правила быть основаны на MAC-адресе или других машинно-зависимых данных?

Это, возможно, слишком очевидное утверждение, но поведение блокировки должно основываться на информации, которой владеет удаленный сервер. Это будет включать:

  • Исходный IP-адрес

  • Исходный TCP-порт, который должен быть эфемерным и изменяться при каждом запросе.

  • Вероятно, возможна пассивная идентификация IP-стека клиента.

  • URL запрошенного ресурса

  • Содержимое заголовка HTTP-запроса, включая файлы cookie, строку User-Agent и отпечаток заголовка «Accept:».

Если вы добавляете Javascript в микс, тогда есть все виды отпечатков пальцев клиента, которые могут быть выполнены.

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

Я склонен подозревать, что они используют строку User-Agent и, возможно, снимают отпечаток заголовка «Accept:».