У меня есть несколько поисковых роботов, и определенный веб-сайт, кажется, через некоторое время временно блокирует трафик. Дело в том, что даже несмотря на то, что у всех клиентов один и тот же внешний IP-адрес (они выходят в Интернет через один и тот же шлюз), он блокирует определенные машины из моей сети. То есть это не простой блок IP-адресов.
Как такое могло случиться? Какое правило можно создать (на веб-сервере, брандмауэре и т. Д.), Чтобы добиться такого поведения? Могут ли правила быть основаны на MAC-адресе или других машинно-зависимых данных?
Это, возможно, слишком очевидное утверждение, но поведение блокировки должно основываться на информации, которой владеет удаленный сервер. Это будет включать:
Исходный IP-адрес
Исходный TCP-порт, который должен быть эфемерным и изменяться при каждом запросе.
Вероятно, возможна пассивная идентификация IP-стека клиента.
URL запрошенного ресурса
Содержимое заголовка HTTP-запроса, включая файлы cookie, строку User-Agent и отпечаток заголовка «Accept:».
Если вы добавляете Javascript в микс, тогда есть все виды отпечатков пальцев клиента, которые могут быть выполнены.
Вы упоминаете MAC-адрес, и стоит отметить, что MAC не покидает локальную сеть. Граничный маршрутизатор - единственное устройство, которое получало бы MAC-адрес клиентского компьютера.
Я склонен подозревать, что они используют строку User-Agent и, возможно, снимают отпечаток заголовка «Accept:».