Тоже интересно. Можешь подробнее рассказать про собственный http-flood WAF?
Довольно простой скрипт, в первую очередь нацеленный на борьбу с флуд-трафиком (боты, простые парсеры, краулеры, пользовательский флуд) и усложнению жизни недругам. Скрипт записывает в базу данных запросы от пользователей, включая IP, сам запрос и время. Поскольку данных много, таблицу необходимо периодически очищать в зависимости от мощности оборудования и предпочтений владельца.Скрипт выполняет проверку с выборкой за последние 5 минут, анализируя запросы каждые 2–3 секунды. Можно также проверять каждый новый IP при его добавлении.Если за последние 5 минут с одного IP поступило 10 запросов, отображается страница с капчей.Большинство ботов сразу блокируются, продолжая сталкиваться с капчей. За неделю у меня накопилось 7 тысяч IP и десятки ASN, в основном хостинги, серверы для парсеров или прокси.Для продвинутых ботов и удобства я создал три варианта счётчиков: блокировка (для тех, кто не прошёл даже капчу Cloudflare Turnstile), капча (поставили галочку, но не нажали кнопку) и успешное прохождение (поставили галочку и нажали кнопку «Капча решена»).Если пользователь пытается пройти проверку или успешно её прошёл, для этого IP создаётся досье: время первого запроса, частые шаблоны запросов, зарегистрирован ли пользователь, есть ли метка Яндекс.Метрики, версия User Agent, часовой пояс, репутация IP, провайдер и тип провайдера.Если парсер впервые сталкивается с капчей, но не нажимает кнопку «Отправить», счётчик «капча» увеличивается, например: 40 блокировок, 250 капч, 0 пройдено.Поскольку IP-адресов слишком много, проверка репутации IP выполняется только после нажатия кнопки «Отправить». Боты продолжают сталкиваться с капчей, парсеры её «потребляют», но проверка и применение правил WAF происходят на последнем этапе.По количеству блокировок и капч я составил топ IP, проверил самые подозрительные, собрал ASN и выяснил, что все запросы идут без регистрации, без cookies и без метки Яндекс.Метрики. Создал правило автобана: если все условия совпадают и IP принадлежит подозрительному провайдеру из списка ASN, он блокируется.Через неделю кто-то начал использовать cookies и авторизацию, но статистика блокировок и капч остаётся слишком высокой, что нехарактерно для человека. Я выявил несколько таких случаев и добавил ещё одно правило автобана: если соотношение капч и успешных проверок значительно отличается, а количество событий превышает 50, IP блокируется, несмотря на cookies.Чтобы усложнить жизнь ботам, я подключил Яндекс.Капчу для начальной проверки (различные ребусы). Для последующих проверок используется Cloudflare Turnstile, который работает быстро и не раздражает, в отличие от ReCaptcha.
Для удобства сделал UI админ панель, с топ IP, статистика я режиме реального времени, список IP которые "на проверке", заблокированные IP. Сортировка по количеству блокировки, каптчи, фильтр: за 3 часа, за 6 часов и тд., фильтр по ОС, метка "IP просмотрено".
Раз в день захожу, чекаю топы, вижу свежие и подозрительные IP, одним кликом выскакивает инфа о подозреваемом, есть кнопки одним кликом блокировать навсегда, разблокировать, добавить в белый список, найти пул IP , добавить провайдера в чёрный список, иконки если это: прокси, VPN, дата центр, абузер и т.д.
Взял самое нужное из CF Events, упростил, убрал свалку инфы и т.д. Сделал для себя.
Ещё можно придумать авто бан сразу по шаблону запросов, но боюсь забанить не тех, поэтому авто бан по шаблону запросов работает после проверки IP на чистоту. Также думал подключить несколько этапов каптчи, сперва Яндекс каптча один раз , а потом Turnstile , далее если все ещё идёт флуд то Recaptcha , или Яндекс Каптча с максимальным уровнем сложности. Но опять же легко забанить мобильный трафик .
Получилось что-то вроде продвинутого Rate Limits с жёсткими правилами бана. Лучше WAF правил, но хуже машинного обучение Enterprise тарифа Cloudflare.
Крысы стали медленнее тырить контент, с первоначальных сканирования сайта каждые пару минут до сутки , а то и вовсе прекратили поскольку невыгодно брать мобильный прокси с ротацией.
Я не знаю как это объяснить.
Тоесть получается можно на американский сайт нагнать вьетнамцев которые поломают его показатели?
Видимо да, чем разнороднее трафик, тем хуже публичные показатели скорости сайта.
У меня Метрика показывает 1 сёк до полной загрузки DOM, хотя в пределах Европы и СНГ максимум 400 мс.
А пейдж спид сосчитал около 1,4-1,7 сёк. Это с учётом CDN.
Нафиг бы заблокировать Филиппины, Индонезию, Индию, Египет, Иран, Африку и т.д. но комариное мясо тоже мясо.
Ничего он не тестирует пользователями
Как тогда объяснить другую стату page speed, в котором чёрными по белому написано "отчёт от посетителей"?
Если эта стата формируется по данным Google бота, то откуда космические TTFB и прочее, как будто гугол бот юзает мобильный интернет с Африки?)
Если вы получите выплаты сейчас и Яндекс будет выплачивать так каждый месяц, то вы все равно будете ждать ровно месяц между выплатами, как не крути. Так что в этом нет никакого смысла.
Смысл есть: вам не придётся писать "Акт есть!" первого числа каждого месяца 😁.
Только этот фактор добавляет больше смысла в мгновенную выплату, чем получать денежюки не пойми когда, но "точно" раз в месяц.
Пусть деньги погреются в моем депозите, чем в бухгалтерии РСЯ.
В прошлом месяце опоздали на 3 дня считай 33 дня а это больше чем месяц, в позапрошлом месяце на 4 дня, и так соберётся целый месяц за год, учитывая оборот РСЯ можно много заработать положив 5% доходов вебмастеров в депозит. Да, мышление обывателя 😁
На бесплатном CF никто не отвечает на письма, тоже подумываю о платномТарифа Pro на месяц будет достаточно для возможности писать тикеты, верно?
А зачем покупать ? Шлите бесплатные абузы через форму жалобы от имени разных пользователей.
Вам наверное лично в руки отдают по месту работы
И мне тоже, лично из бухгалтерской позвонили и выручили акт.
Акт есть !! Но ещё лучше сразу получить выплаты !
То же самое, как будто боты дармоедов игнорируют конкурента. Мб не определили сайт как паразита ?)
У меня такое было пару лет назад, когда сайт ещё был авторитетным в глазах Google, жалобы DMCA поступали но страницы редко удаляли, видимо система ещё не относил сайт к категории "пиратов".
Как только пробьют этот щит то все, сотрут все позиции.
А пока что кидаю жалобы (Cloudflare) на клоны, якобы имитация другого сайта, кража и т.д., указываю основной сайт конкурента как легального бренда. Хотя сайты принадлежат одному человеку, но почему-то это работает, мб временно.