Вечер --в--хату--- добрый! Случилась преинтереснейшая ситуация, достойная обсуждения в Болталке (наиболее подходящий для этой темы раздел - PHP, но не очень подходящий, да и там за февраль одна тема активна. Мой сайт немножечко (совсем чуть чуть) задрачивают боты. Боты качественные, с полной эмуляцией javascript (а скорее всего созданы либо на базе ботнета из виртуалок мобильных устройств, или собственно из взломанных гаджеов, или очень качественная эмуляция на базе Chrome). Появилась идея наказать товарища. Просто заблокировать - не интересно, мы не ищем легких путей. Для этого мне необходимо отдать боту в коде страницы фрейм с загрузкой страницы стороннего сайта. Чтобы все понимали, боты отдают реальные значения navigator.hardwareConcurrency поддерживают выполнение запросов GET / POST с помощью ajax(), отображаются во всех системах статистики как пользователи (то есть отрабатывают все запросы к этим системам статистики) и, видимо, умеют вообще всё кроме одного. Но фрейм с моего стороннего хоста почему-то не загружают. Если я этот код выдаю реальному посетителю (не боту) - всё сразу работает. Думал причина в IPv6 (боты запрашивают сайты по IPv6, логично заблокировать IPv4 чтобы не спалить другую сеть, а мой хост во фрейме был доступен только по IPv4. Напряг извилины, поднял его на IPv6 адресе, убедился что сайт доступен по IPv6, проверил на реальных пользователях - все ок. Встроил iframe прямо в HTML код (до того он создавался динамически с обфускацией js). Боты все равно содержимое фрейма не загружают. Почему???
Если боты знают этот сайт и знают что в подгрузке iframe нет никакой надобности - они могли просто их заблокировать. И все. Зачем зря грузить что-бы-то-ни-было, если можно не грузить ? Опять же зависит от реализации. Если они работают жестко по сценарию - то они и все остальное могут загружать по сценарию (не подгружать картинки, не стучать в статистику етц). Может у них вообще с ифреймами трабла В зависимости от движка такое тоже может быть. Надо тестить. Легальные пользователи загружают ведь iframe. Значит надо запретить доступ всем, кто его не загружает (на время например) и посмотреть подстроятся боты или нет. Если нет - значит проблема в их движке Если подстроятся... собссно выяснять уже дальше и нечего, надо ставить связку ========================= Вообще для подгрузки iframe может быть они юзают отдельный поток, только он создается совсем заново и в нем нет никаких установленных переменных, кукисов, етц. Поэтому боты какбэ на самом деле загружают iframe, только вам этого не видно. ========================= А, да. Плюс к этому всякого рода заShitЫ юзают эти ифреймы. Поэтому его адрес может передаваться куда-нибудь на сервис расшифровки капч и.т.п. Есессно оно работает не так, как вы ожидаете. ========================= Короче причин много. Чего гадать. Надо смотреть
Ага. Аж прям озуеть можно А чо, пророкам нынче не передают данные об особенностях фунциклирования человеческих безделушек ? А ты гришь десятину им... Какой смысл в общении с напланетянами, если они, сцуки, даже не хотят объяснить как работает похуканный хромиум ?
Да, это интересно!. И потому, что.... учи матчасть! Мой уровень технических знаний, - значительно превосходит твой. Прими это на веру. Придурок!
Тут я даже и не сомневался Я не об этом. Просто пытаюсь понять с чем связан столь подозрительный интерес.
Тут даже не в подгрузке iframe дело. Я вставляю картинку или javascript со стороннего сайта - в логах веб сервера нет этого запроса. Адрес сайта разработчику бота заблаговременно неизвестен чтобы его можно было заблокировать. При этом сторонние скрипты с различных CDN (тот же jquery) ботом загружаются. Яндекс Метрика и Гугл Аналитика тоже загружаются и эти посетители фиксируются данными системами статистики. Работа по какому-то белому списку известных CDN и систем статистики? Странно как-то, зачем?