Началась история с того, что один из моих сайтов стал скачивать подозрительный робот. Это был не Яндекс-бот и не Гугл-бот и вообще ни один из известных поисковиков. Подозрение подкреплялось тем, что Useragent был странный — curl/<ЧТО-ТО>, а Referer — d:/<ЧТО-ТО ЕЩЕ>. Единственной целью таких роботов является кража контента с атакуемого ресурса…
Около двух месяцев все не доходили руки поискать злобного парсера — понять, на каком другом домене выкладывается мой ценнейший контент (шутка). Я только иногда запрещал на уровне php-кода некоторые значения Useragent и Referer, но мой таинственный друг их подправлял и снова приходил на сайт с ненужной нагрузкой.
И вот, руки дошли!
Я придумал как найти парсера, а точнее его домен(ы) в выдаче Яндекса. Немного о проекте — около 10 миллионов однотипных страниц с регистрационными данными юридических лиц РФ — названия, коды, адреса и т.п. Но, на каждой странице присутствует длинная фраза о том, что текущее состояние юрлица может не соответствовать представленному. Ну да, 10 миллионов фирм — из них 400 тысяч что-то меняют каждый год (директора, юрадрес, учредителей...) Вот по этой фразе в Яндексе нашлось куча сайтов (не моих), но и с не моим контентом! (На второй странице выдачи, например, url типа uralres.ru/q6bCp__08pky) Хотя, сниппеты указывали, что там таки находится информация о юрлице. Первый десяток таких страниц я просто закрывал на автомате не задумываясь, а почему, собственно, в сниппете одно, а при переходе на сайт — какой-то ГС со средством для… по вкусу — потенции, похудения, антиопохмелин и т.д. Причем, если просто забить URL с этого сайта в адресную строку, то получим Ошибку 404!
Предполагаю следующий механизм работы этой системы:
- Ищется сайт-донор с большим количеством страниц
- Создается домен-акцептор, который начинает скармливать Яндекс-боту страницы с сайта-донора, заменяя на лету все ссылки на свои. Причем, как я понял, не напрямую типа donor.ru/otrasli/25 -> gs.ru/otrasli/25, а как-то шифруя их обратимо — donor.ru/otrasli/25 -> gs.ru/8SDnm34rLK
- Страницы, отданные Яндексу даже не кэшируются акцептором — а зачем, потом еще раз заберем, если спросят. Но, если только спросит Яндекс-бот! А пользователю мы покажем рекламу чудодейственного средства.
Идем дальше.
На нескольких открытых лже-страницах мне попалась фотка с популярной телеведущей-докторшей, которая держит в руках коробочку с чудо-средством от запоев. Сразу скажу, что были и страницы со средством для потенции — и да, ведущая таким-же образом держала в руках соответствующие предметы.
Но, остановимся на запоях.
Это типичная посадочная страница, оформленная под блог телеведущей. Как-будто по мотивам одной из передач про алкоголизм был создан этот бложик для ответов на частые вопросы, обмена опытом и формой заказа препарата. Также все ссылки на странице с помощью javascript подменялись на якобы официальный сайт препарата типа c.superantipohmel.ru — это чтобы посетитель при любом клике попадал уже на белый сайт производителя.
Фото с изображением популярной ведущей, держащей в руках это чудо-лекарство — подделка, низкопробный фотошоп! Однако, судя по размаху дельцов, именно эта картинка вводит в заблуждение доверчивых граждан, случайно попавших на один из их сайтов.
Теперь вся схема мошенничества как на ладони!
Предприимчивый Веб-мастер разработал хитрую схему обмана:
- Яндекс сканирует его сайт и видит неуникальный контент. Но Яндекс не всегда может распознать факт, что информация сворована, и какую-то часть данных помещает в свой индекс.
- Интернет-пользователь вводит запрос на Яндексе и в результатах поиска видит ссылку на сайт мошенников. Кликает на ссылку, но получает уже не искомую информацию, а подмену — страницу (образец) с легко узнаваемой телеведущей.
- Далее, самые доверчивые и те, для кого проблема алкоголизма в настоящий момент является наиболее острой, остаются на подменной странице, читают лже-рекомендации врача, лже-отзывы, видят нечеткую фотографию какого-то сертификата… и заказывают Антипохмелин.
Я провел мини-расследование — тоже заказал лекарство якобы для отца. В форме размещения заказа нужно указать ФИО, номер телефона и выбрать страну (для солидности?).
После отправки заказа мне через 5 минут с номера (495) 645-80-56 перезвонил некто Геннадий (система авто-дозвона, контакт-центр, все дела). Представился консультантом магазина Shop-online (два самых популярных поисковых слова — попробуй, найди магазин) и спокойным уверенным голосом поинтересовался, для кого я беру препарат. Справился о длительности пристрастия отца к алкоголю, тяжести зависимости. Выслушав мой слезливый рассказ, он авторитетно подтвердил, что А-похмел уверенно справляется именно с такой формой заболевания и результата в виде отвращения к алкоголю у пациента можно ждать после месячного курса. Месячный курс лечения препаратом — это 4 пачки, с доставкой стоимость около 4000 рублей!
Мы оформили заказ — у меня взяли адрес доставки. Вид доставки — почтой России с оплатой при получении. В комплект поставки должно входить само средство, инструкция и сертификат! Интересно, сертификат на что? Что это средство не представляет опасности для его принимающего? Посмотрим…
Погуглив поиском я нашел много отзывов о компании-продавце, чьи реквизиты указаны на белом сайте рядом с формой заказа. В частности, что они вообще не присылают то, что вы заказали, а вкладывают в посылку, например, копеечную пачку чая. Все равно на почте вы сначала оплатите наложенный платеж, а уж потом пойдете смотреть, что же пришло. Кстати, посылку вам отправит некое физическое лицо, на которое и в суд не подашь — у вас нет его паспортных данных и прописки. И вы не представляете, как сильно меня порадовал тот факт, что отзывы нашлись на МОЕМ сайте.
Итак, 4 этапа в схеме, и каждый из них мошеннический! Подменный контент — раз, использование образа ведущей-доктора — два, лже-сертификат — три, обман на почте — четыре. И каждый этап по отдельности максимально недоказуем — на сайт кроме как с Яндекса Вы не попадете, заказываете препарат уже на другом — «официальном» сайте производителя. Ну а то, что на почте вам выдали коробку с пакетиком чая за 4 килорубля — это вы с физиком-отправителем разбирайтесь, о чем там у вас договор был.
На этом мой отчет закончен. И да пребудет в сохранности контент ваш!
PS Дочитавшим до конца — бонус.
Как просто и наглядно распознать бота-вора, и вообще получить картину происходящего в данный момент на сайте? Я несколько месяцев вынашивал идею, как по одному взгляду на экран понять, все-ли хорошо с сайтом? И придумал такое решение. Сохранять в некое хранилище данные о 100 последних запросах к сайту — URL, Useragent, Referer, время работы скрипта…
Теперь, зайдя в любой момент на специальный URL мониторинга, я вижу, сколько у меня Яндекс-ботов, Гугл-ботов, бесполезных ботов и Посетителей приходится на 100 запросов в моменте. Вижу время срабатывания скриптов на разных классах урлов — медленные и быстрые урлы сразу выявляются. Вижу подозрительных ботов — ну не может обычный пользователь открыть 10 однотипных url за 10 секунд! А если разделить 100 запросов на количество секунд, за которые они прилетели, то получим нагрузку на сайт в запросах в сек.
В качестве стора рекомендую XCache (для любителей php). Он волшебен — многопоточный, быстрый, без локов! Но подходит только для хранения ничтожных данных на протяжении минимального промежутка времени. Этот дворник, который приходит все чистить, уж очень непредсказуем! Пробовал просить его приходить пореже, но тогда OOM случался.
Для 100 последних запросов вам понадобится 101 ячейка-ключ — cur_counter и zapr_i, где i=[0..99]. При каждом выполнении php-скрипта мы инкрементим cur_counter и вычисляем номер ячейки для поклажи статистики запроса как cur_counter % 100 (остаток от деления на 100). Далее в эту ячейку кладем метаданные по запросу и, не поверите, в кэше лежит ровно 100 последних запросов ВСЕГДА! Что класть в кэш и как это отображать — на Ваше усмотрение.
Автор: Запишись.com