📝 Инструменты контента и маркетинга
Платформа включает встроенные инструменты, позволяющие командам контента и маркетинга работать с максимальной гибкостью без ущерба для безопасности и производительности.
👁️ Предварительный просмотр CMS в реальном времени (Next.js Draft Mode)
Витрина полностью интегрирована с механизмом Preview в Strapi и режимом Draft Mode в Next.js. Это позволяет редакторам видеть черновики материалов прямо на реальном шаблоне сайта до публикации.
Рабочий процесс предварительного просмотра:
- Запуск: Редактор нажимает кнопку Preview в панели Strapi.
- Валидация: Strapi перенаправляет на эндпоинт
api/preview/route.tsс подписанным URL, содержащимREVALIDATE_SECRET. - Активация Draft Mode: Сервер проверяет HMAC-хэш с помощью
node:cryptoи активирует режим черновика, устанавливая защищенную сессионную cookie. - Отображение вживую: Пользователь перенаправляется на целевую страницу и видит предварительную версию контента.
Единый ключ с REVALIDATE_SECRET
Для упрощения конфигурации предпросмотр Strapi и вебхуки ISR используют одну и ту же переменную окружения
REVALIDATE_SECRET в корневом файле .env, избавляя от необходимости задавать лишние ключи.📨 Подписка на рассылку и защита от спама (Rate Limiting)
Форма подписки на рассылку (роут api/newsletter/route.ts) напрямую подключена к CRM SendPulse.
Безопасность через ограничение частоты запросов
Для предотвращения спам-атак ботов и исчерпания лимитов внешнего API эндпоинт использует встроенный Rate Limiter по IP-адресу.
- Максимум запросов: 2 попытки
- Временное окно: 1 час (60 * 60 * 1000 мс)
- Отслеживание: IP-адрес извлекается из заголовка
x-forwarded-forи отслеживается в кэше памяти сервера. - При превышении лимита сервер возвращает ошибку
429 Too Many Requests.
.env (Переменные SendPulse)
bashSENDPULSE_API_ID=your_api_idSENDPULSE_API_SECRET=your_api_secretSENDPULSE_BOOK_ID=your_target_mailing_list_id