neoks

neoks
Рейтинг
152
Регистрация
17.03.2010
foxi:
neoks, если визуальный шаблон проверки содрать с cloudflare, то у юзера ничего негативного не возникает, т.к. такой шаблон знаком и привычен юзерам и вполне норм подождет 3-5 сек без негатива для дальнейшего конверта.

Я бы подождал, но в магазине конверсия падала из за того что (пользователь первый раз в жизни попадает на сайт с ПС и почему-то некоторые из них закрывают вкладку).

Да и боюсь получить от ПС за клоакинг, поэтому реализовал фоновую проверку, не такая надежная как у вас, но в целом с поставленной задачей справляется :)

foxi:
neoks, хорошо вы содрали идею и реализацию моего антибота для себя )))

Признаю, описание взял с вашего сайта, лень было писать, но это после написания своей реализация, вашу реализация проверки бота видел еще в 2016, выкатывали в дорах для скрытия рекламы и ссылок от ПС, я ею не пользовался потому что боюсь клоакинга.

Копаясь в фоновой проверке reCAPTCHA, понял что проверку reCAPTCHA можно улучшить и сделать более мягкой, так и получилась моя реализация AntiBot:

*) Был добавлен socket что-бы усложнить ботам задачу

*) Используется фоновая проверка как в reCAPTCHA, что-бы ПС не занижала позиции сайта из за клоакинга

*) Новые пользователи зашедшие с ПС не ждут проверки AntiBot, из практики могу сказать что это положительно сказываться на конверсии

Оптимизайка:
Т.е. боту достаточно загружать с одного ip страницу раз в полчаса, иметь пул адресов и ротировать, ОК. :)

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

Заносить вручную IP в блек как это делает ТС, тоже не вариант и там тоже есть свои минусы:

*) Ручная работа, постоянно следить за логами, вность IP в блек и т.д.

*) Сегодня заблокированные IP это "боты/спамеры", а завтра это сотни белых пользователей которые не могут получить доступ к сайту - (в моем примере выводится заглушка).

*) Каждый IP может сделать тысячи запросов перед тем как попадет в блек - (в моем примере блок идет сразу).

*) Может зайти бот который делает 40к запросов в сутки распределяя по 20 запросов на 2000 IP, такие запросы останутся без внимания - (в моем примере даже такой бот будет заблокирован).

*) На сайт могут зайти 10 валидных пользователей из под NAT с одним IP, сделать 200 запросов, кликнуть на рекламу и принести прибыль, но такой IP уйдет в блок, потому что с этого IP много запросов - (в моем примере выводится заглушка).

1) Заблокированным IP выводится Заглушка

2) Заглушка - Выводится вместо сайта для заблокированных IP, при этом в заглушке используется JS для установки валидных кук, благодаря которым белые пользователи могут попасть на сайт, а боты так и продолжают смотреть заглушку.

Мой пример не идеален, но он решает больше проблем чем ручной блок, работает на автомате и не блокирует белых пользователей, им конечно будет выводится заглушка с ожиданием, но все же это лучше чем полный блок :)

Оптимизайка:
Либо человек, который сидит за прокси в какой-нибудь организации, или пользователь динамического IP у всяких сотовых операторов. Будет масса ложных срабатываний.

Не совсем правильно выразился, IP помечать как бот и выдавать такому IP в течении 20-30 минут вместо сайта заглушку, заглушка будет явно просить пользователя включить JS и подождать 3 секунды, что-бы можно было попасть на сайт (пример такой заглушки CloudFlare). В данном случаи бот будет заблокирован, а реальные пользователи которые зайдут в течении этих 30 минут с таким-же IP, просто подождут 3 секунды и смогут дальше просматривать сайт.

---------- Добавлено 23.03.2018 в 21:06 ----------

mrmvd:
Там есть такая фишка - боты Яндекса например заходят под людскими User-agent чтобы проверить что всем выдается один и тот же контент. Заходят они с каких-то левых постоянно меняющихся IP-адресов. Так что защита, предложенная вами, может их отсекать.

Обычно они делают мало запросов, максимум сотню. В моем примере просто увеличьте счетчик попыток до нужно числа, то число которое вы используете в ручном блоке. А так-же можно убрать проверку cookie #1 и оставить только cookie #2 что-бы исключить ложные срабатывания и повысить точность блока.

mrmvd, На самом деле все делается на много проще и эффективней, причем на полном автомате, не нужно постоянно мониторить логи, собирать и блокировать IP/UseAgent и т.д

Первый запрос IP:

*) Выдаете контент

*) Посредством cms/сервера выдаете проверочные cookie #1

*) В контенте выдаете код на JavaScript который ставит пользователю cookie #2, но не сразу а спустя 3 секунды пребывания на сайте.

Второй запрос от IP:

*) cookie #1 нету ?, отправляйте в бан, это бот.

*) Есть cookie #1 и cookie #2 ?, это реальный пользователь.

*) cookie #1 есть но нету cookie #2 ?, добавьте счетчик для IP и считайте количество запросов.

4й запрос от IP:

*) Все еще нету cookie #2 ?, блокируйте, это бот.

User Agent говорит что это ПС ?

*) Не верьте, сейчас тьма парсеров пишут в UserAgent поискового бота.

*) Любой запрос от ПС проверьте через PTR, если это реально ПС, добавьте в белый список, если нет, то это бот и его место в черном списке.

Dimoks, Задержка в несколько часов может быть связана с кешированием контента если это клонировщик, либо стандартный парсер по крону.

Если у вас vps, поставьте бесплатный AntiBot что-бы блокировать такой мусор (ссылка в подписи).

Meggido, Когда то еще и jino был бесплатный (тогда даже рамблер считался за поисковую систему), помню как размешал там всякое г..но.

Хостинг был вполне себе сносный и хорошо раскрутил платный.

NewAction:

Все логины есть в /etc/passwd
Конфиги вижу только общесистемные, но все домены на сервере видны в файле vhosts.map

Вот это уже плохо, стоит написать в хостинг, что-бы закрыли :)

---------- Добавлено 18.03.2018 в 12:42 ----------

В том же vhosts.map есть полные пути к директории сайта ?, если да, то попробуйте:

1) Обратится напрямую по этому пути, иногда срабатывает и выдает содержимое сайта.

2) Выполнить в bash "cat /путь/index.php", такое тоже иногда срабатывает.

Оптимизайка:
Ну т.е. логины уже известны, осталось пароли подобрать :D

Я так понял что видно только Имя и Фамилию, сам логин и email который используется для авторизации владельца, не засвечен 🍿

Другое дело что ТС видит конфиги nginx/apache, но опять такие, если внутри тех конфигов нету доменов других владельцев, то все в порядке.

NewAction:
вижу только верхний уровень иерархии с подкаталогами по алфавиту и фамилиям внутри /home/.

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

Всего: 705