• Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

PlayCMS — система управления сайтом для игровых проектов Lineage 2 Версия 1.0.0

Нет прав для скачивания
Завтра добавлю плагин многоязычности.Выложу сюда и на сайте.
не спиши это гении мысли тебе скажут что надо изначально делать мультиязычность и ипать себе моцк кодировками.

закончи проект никого не слушай
 
Последнее редактирование:
Добавил в Демо Модуль защиты DDoS Guard



Основные возможности модуля​

1. Защита от HTTP-флуда​

Модуль отслеживает количество запросов, поступающих с каждого IP-адреса. Если один IP начинает отправлять слишком много запросов за короткий период, система автоматически ограничивает его активность.

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


2. Rate Limit по IP​

DDoS Guard использует систему лимитов по IP-адресам. Администратор может задать, сколько запросов разрешено одному IP за определённое время.

Например, можно ограничить пользователя до определённого количества запросов в минуту. Если лимит превышен, IP временно блокируется.


3. Burst-защита от резких всплесков​

Помимо обычного лимита запросов, модуль отслеживает резкие всплески активности.

Это полезно, если бот делает много запросов не постепенно, а резко — например, десятки запросов за несколько секунд. В таком случае модуль может заблокировать IP быстрее, не дожидаясь общего минутного лимита.


4. Отдельная защита POST-запросов​

Модуль отдельно контролирует POST-запросы, которые обычно используются в формах входа, регистрации, отправки сообщений, заявок и других чувствительных действиях.

Это помогает уменьшить риск флуда по формам и снизить нагрузку на обработчики авторизации, регистрации и других пользовательских действий.


5. Временная блокировка IP​

При превышении лимитов модуль временно блокирует IP-адрес. Пользователь или бот получает ответ:

429 Too Many Requests

Это означает, что с данного IP было отправлено слишком много запросов, и доступ временно ограничен.

Время блокировки можно настроить в админке.


6. Белый список IP​

В модуле есть поддержка белого списка IP-адресов.

IP-адреса из белого списка не попадают под ограничения. Это удобно для администратора сайта, разработчиков, технических специалистов или доверенных сервисов.

По умолчанию в белый список добавлены локальные адреса:

  • 127.0.0.1

7. Поддержка Cloudflare и proxy​

Модуль поддерживает работу сайта за Cloudflare или другим proxy-сервисом.

Если сайт использует Cloudflare, можно включить доверие к proxy-заголовку, чтобы модуль определял реальный IP посетителя через:

HTTP_CF_CONNECTING_IP

Это позволяет корректно применять лимиты не к IP Cloudflare, а к реальным IP пользователей.


8. Логирование срабатываний​

DDoS Guard записывает события защиты в лог-файл.

В логах можно увидеть:

  • IP-адрес;
  • причину блокировки;
  • запрошенный URL;
  • метод запроса;
  • время события;
  • тип превышенного лимита.
Логи помогают администратору понять, какие IP создают нагрузку и как часто срабатывает защита.


9. Работа без нагрузки на базу данных​

Модуль не использует базу данных для хранения счётчиков запросов.

Все временные данные сохраняются в файловом хранилище:

storage/security

Благодаря этому защита не создаёт дополнительную нагрузку на MySQL и может срабатывать ещё до активной работы CMS с базой данных.


10. Ранний запуск защиты​

DDoS Guard подключается на раннем этапе загрузки CMS — до полноценной работы сессий и базы данных.

Это важно, потому что при HTTP-флуде нагрузка часто появляется ещё до открытия нужной страницы. Чем раньше срабатывает фильтрация, тем меньше ресурсов тратит сайт на обработку лишних запросов.


Раздел «Защита» в админке​

После установки модуль добавляет в админ-панель отдельный раздел:

Админка → Защита

В этом разделе можно:

  • включить или отключить защиту;
  • настроить общий лимит запросов;
  • настроить период проверки;
  • настроить burst-лимит;
  • настроить лимит POST-запросов;
  • задать время блокировки IP;
  • включить или отключить режим логирования;
  • включить режим наблюдения без блокировки;
  • настроить белый список IP;
  • включить поддержку Cloudflare/proxy;
  • посмотреть текущие параметры защиты.

Для чего нужен этот модуль​

Модуль подходит для сайтов на PlayMMO CMS, которым нужна базовая защита от:

  • частого обновления страниц ботами;
  • простого HTTP-флуда;
  • чрезмерного количества запросов с одного IP;
  • нагрузки на формы входа и регистрации;
  • примитивных бот-атак;
  • автоматических сканеров;
  • подозрительной активности на сайте.
DDoS Guard особенно полезен для игровых CMS, где сайт может подвергаться частым запросам со стороны ботов, конкурентов, парсеров или автоматических скриптов.


Что делает модуль:​

Модуль добавляет в CMS системную PHP-защиту, которая:

  1. Определяет IP посетителя.
  2. Проверяет, не находится ли IP в белом списке.
  3. Проверяет, не заблокирован ли IP ранее.
  4. Считает количество запросов за заданный промежуток времени.
  5. Отдельно считает резкие всплески активности.
  6. Отдельно считает POST-запросы.
  7. При превышении лимита временно блокирует IP.
  8. Возвращает HTTP-код 429
  9. Записывает событие в лог.
  10. Продолжает пропускать нормальных пользователей.
 
Rate Limit по IP - я в метро еду и адрес периодически меняется. Получается я буду вечно в бане? Вообще Rate Limit лучше настраивать на nginx, а не в приложении и настраивается на каждый api метод, а не на все и глобально
Отдельная защита POST-запросов - а что делать с GET, PUT, PATCH запросами?
Все временные данные сохраняются в файловом хранилище - для этого используют in memory или redis
DDoS Guard записывает события защиты в лог-файл - только не говори что это обычный txt
Где метрики для прометеуса? Как я систему алертов должен настраивать и понимать что что-то происходит?
 
Сейчас переделаю,
per-route / per-method правила:
GET, POST, PUT, PATCH, DELETE, ALL.
Рейт лимит выключу по умолчанию
Добавлю auto → Redis → APCu → file fallback
Логи будут JSON Lines
Добавлю Prometheus endpoint
Обновлю сейчас.Модуль пока не выстовлял,ждал ответов)
Сообщение объединено:
Подправил,добавил демо.
 
Последнее редактирование:
Сначала ты делаешь DDoS защиту на php, а потом придется защищать сам сервер от твоей защиты.

чел даже на сообщения отвечает нейротекстом из агента

Теория мертвого интернета победила...
 
Купи хотя бы клод, он будет поумней того что ты юзаешь
 
пластмассовый мир - победил, макет оказался сильней (С) Игорь Летов
 
А если вы добавите полинг на сайт или более современные методы отслеживания статистики на свой сайт в реалтайме, то каждый кто просидит больше 5 секунд на страничке автоматом улетит в перманент? Естественно если вы будите сайт оставлять на старой PHP статике, то ваш новый модуль защиты будет более-менее нормальным. Что будет если вы перейдете на современный стек, где есть вэбсокет... Первый в мире сервер где ты не создал еще перса, а уже в бане? Попробуйте с ИИ обсудить это - он вам расскажет если вы не понимаете что лепите.
И скажу вам одну правду. Настоящие ддосеры не будут спамить ваш нейросетевой проект с одного IP. Вы увидите массовую нагрузку и сотни адресов.
 
Я уже все обсудил и подправил.
 
что поправили? мне даже интересно изменился ли подход.
Глобальный Rate Limit теперь выключен по умолчанию. Основная логика теперь через правила на конкретные методы и пути. Добавил per-route / per-method правила: GET, POST, PUT, PATCH, DELETE, ALL. Добавил формат правил: METHODS|PATTERN|LIMIT|WINDOW|BURST_LIMIT|BURST_WINDOW|BLOCK_SECONDS|IDENTITY|NAME
Все настрокйи в админке.
 
Я так понимаю вы просто посредник между LLM и форумом? Или это мне бот пишет?
 
Название модуля,не больше.В описание все есть.
 
Короче. Если вы храните эти щетчики, то ваш сервер еще раньше ляжет из-за вашей защиты. То есть модуль защиты сыграет с вашем сайтом злую шутку. Попробуйте догадаться почему. Это вам бесплатный совет.
 
Спасибо за советы,возьму "ВАШИ" советы на заметку. (БЕСПЛАТНЫЕ)
 
Что такое метод ALL?
 
Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше…