в итоге тебя спасает ddos guard? и что там за доп. плюшки за дополнительную плату? вроде как cdn и защита есть по умолчанию.
WAF за 100к рублей в месяц, дополнительные правила блокировки IP (по 1-10к в месяц), персональные страницы ошибки и проверки и т.д.
В двух словах: за 200-400к месяц мб сможете подключить все "плюшки" ддос гуард, чтобы был аналог тарифа CF Pro за 25$ в месяц. 😉
Туда им и дорога, пусть шикуют в Кипре 😁
Если говорить чисто про CDN, то расценка яндекса 1руб за 1гб. Ещё есть ВК клауд, тоже самое только дешевле 0.6руб за 1гб.
И я посчитал мой сайт (30к пользователей и 140к просмотров страниц в день) за месяц потребляет 4.23 TB и у ВК клауда выйдет 2700руб за месяц.
Кэширую htmlы всего сайта, файлы на странице - шрифт, иконка и... Всё (всё остальное js, css - в самом html прописаны), динамичные запросы делаю через API. Ответ сервера с Cloudflare был 80мс, полоска загрузки даже не появлялась в браузерах, сайт открывался моментально полностью погружаясь за 120мс.
Обратил внимание на ВК клауд я вообще из-за того, что конкурент его использует, который тоже в топе со мной.. Пока не перешёл, жду что случится дальше с Cloudflare, пока убрал проксирование, но на сайте стоит ещё и radis кэширование, так что сайт живёт спокойно. Просто если в РФ заходят за 220мс без CDN, то в других странах думаю медленнее. Да и если РФ закроют от внешнего интернета, то как я понял доступ даст с других стран только CDN? Поэтому думаю, что CDN всё равно надо ставить и это + для SEO. А ещё я думаю, что кэширование и CDN могут спасать от Ddos если бэкенд на сайте не используется для пользователей.
Сомнительное конечно решение: быстро загрузить статику, а затем медленно пинговать origin сервер динамичными запросами без CDN? Так сказать обман пользователя и ПС: страница отрисована, но общее время ожидания до полного DOM так же как без CDN.
Телеграм так работает, вроде получил видео, но на скачивание видео уходит больше времени чем на TTFB.
С Cloudflare понятно, они проксируют весь сайт, или можно прикрутить что-то вроде Workers для динамики. А как решите проблему с невозможностью доставлять динамичные запросы?
я про это и говорю, не нужно путать понятия антибот (скриптики на пхп с базой) и антидос. Если искать замену клаудфлару (судя по названию данной темы) - это искать замену антиддосу (ну и CDN). А это забудьте про скриптики. Это уровень не ниже nginx или openresty + lua.
Опять галлюцинации, и выброс. где я писал про DDoS защиту посредством php? Не прочитали пост внимательно, так ещё выдумали себе какой то php antiddos.
Антибот, не антибот все обычные php WAF, защита от dos и флуда.
Ага, "скрипты записывающие в базу"... Смешно это слышать от того кто записывает данные в архаичный sqlite. 😁
Огонь, спасибо за такое подробное объяснение. Учитывая актуальность проблемы - ты вполне мог бы продавать этот скрипт) Кстати, скрипт на все серваки подойдет? Я юзаю nginx.И еще вопрос - а айпишник сервера как-то скрываешь?
Скрипт не продаётся. Я не разбираюсь в настройках Nginx, к тому же у меня LiteSpeed. Скрипт написан на PHP и по сути работает на любом сервере. Подключается одним include в index.php.
Вы можете создать подобное за пару дней, используя Cursor, даже если вы новичок. Достаточно терпения и желания общаться с Claude.
У меня DDoS-Guard 💀
Есть готовые открытые мини-WAF на PHP, но они, как правило, громоздкие или требуют долгого изучения. Лучше написать своё 💩, чем разбираться в чужом. В конце концов свое говно не пахнет.
Ранее упоминали, что можно установить скрипты для защиты на уровне сервера, но от DDoS-атак это не спасёт. Для борьбы с флуд-трафиком достаточно PHP и MariaDB — не нужно стрелять из пушки по воробья.
Я использую CDN от Selectel, много точек присутствия, цена вопроса 500р за первые 800Гб исходящего трафика, у меня при 2Тб выходит примерно ~1200р, но я считаю проект достаточно большой. Точек по РФ много достаточно.
Да, если уместиться в лимит то можно взять G Core Labs с подпиской за 30+ долларов в месяц, гораздо больше точек чем Selectel, и плюшек тоже. Почти аналог Cloudflare, но лимит жёсткий, только маленьким сайтам подоходит.
К тому же, Selectel вроде традиционный CDN, как mail ru, CDNnow и прочие требующие указывать их домен для статики, и не доставляют динамический контент, разве нет?
Тоже интересно. Можешь подробнее рассказать про собственный 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.
Крысы стали медленнее тырить контент, с первоначальных сканирования сайта каждые пару минут до сутки , а то и вовсе прекратили поскольку невыгодно брать мобильный прокси с ротацией.