1. Настройки двухэтапной аутентификации (2FA/TFA)
// Полное отключение 2FA для всего форума$config['enableTfa'] = false;
// Отключение обязательной 2FA (но оставить возможность добровольной)
$config['requireTfa'] = false;
// Отключение 2FA для определенных групп (через массив ID групп)
$config['tfaExcludedUserGroups'] = [1, 2, 3]; // ID групп
// Изменение длины кода 2FA (по умолчанию 6)
$config['tfaCodeLength'] = 8;
// Время жизни кода 2FA в секундах (по умолчанию 30)
$config['tfaTimeStep'] = 60;
2. Настройки безопасности входа
// Максимальное количество неудачных попыток входа$config['loginAttempts']['allowed'] = 5;
// Время блокировки после превышения попыток (в секундах)
$config['loginAttempts']['forget'] = 900; // 15 минут
// Требовать подтверждение пароля для критических действий
$config['enablePasswordConfirm'] = false;
// Политика сложности паролей
$config['passwordRequirements']['minLength'] = 8;
$config['passwordRequirements']['requireNumbers'] = true;
$config['passwordRequirements']['requireSymbols'] = true;
$config['passwordRequirements']['requireMixedCase'] = true;
3. Настройки сессий и cookies
// Время жизни сессии администратора (в секундах)$config['adminSessionLength'] = 3600; // 1 час
// Время жизни сессии пользователя
$config['sessionLength'] = 86400; // 24 часа
// Использовать только безопасные cookies (HTTPS)
$config['cookie']['secure'] = true;
// Запретить доступ к cookies через JavaScript
$config['cookie']['httpOnly'] = true;
// Домен для cookies
$config['cookie']['domain'] = '.ваш-сайт.ru';
// Префикс для cookies
$config['cookie']['prefix'] = 'xf_';
4. Настройки защиты от атак
// Защита от CSRF (Cross-Site Request Forgery)$config['enableCsrf'] = true;
$config['csrfSalt'] = 'ваш_уникальный_соль'; // Для усиления
// Защита от кликджекинга
$config['frameOptions'] = 'SAMEORIGIN';
// Заголовки безопасности
$config['contentSecurityPolicy'] = true;
$config['enableClickjackingProtection'] = true;
// Лимит запросов (rate limiting)
$config['enableRateLimit'] = true;
$config['rateLimitDuration'] = 60; // секунды
$config['rateLimitRequests'] = 60; // запросов за период
5. Настройки входа и регистрации
// Включить/отключить CAPTCHA$config['enableCaptcha'] = false;
// Требовать подтверждение email при регистрации
$config['registrationSetup']['emailConfirmation'] = false;
// Включить автоматическую авторизацию после регистрации
$config['registrationSetup']['autoLogin'] = true;
// Минимальный возраст для регистрации
$config['registrationSetup']['minimumAge'] = 13;
6. Настройки производительности и кэширования
// Включить кэширование$config['cache']['enabled'] = true;
// Настройки Redis (если используется)
$config['cache']['provider'] = 'Redis';
$config['cache']['config'] = [
'host' => 'localhost',
'port' => 6379,
'timeout' => 1.0,
'password' => 'ваш_пароль',
'database' => 0
];
// Настройки Memcached
$config['cache']['provider'] = 'Memcached';
$config['cache']['config'] = [
'servers' => ['localhost:11211']
];
7. Настройки отладки и разработки
// Режим отладки (не включать на продакшене!)$config['debug'] = false;
// Показывать ошибки
$config['development']['enabled'] = false;
$config['development']['defaultOutput'] = false;
// Логирование
$config['development']['logErrors'] = true;
$config['development']['logDatabaseQueries'] = false;
8. Настройки почты
// Метод отправки почты$config['mailer']['transport'] = 'smtp'; // или 'default', 'sendmail'
// Настройки SMTP
$config['mailer']['options'] = [
'host' => 'smtp.gmail.com',
'port' => 587,
'username' => 'ваш@gmail.com',
'password' => 'пароль',
'encryption' => 'tls', // или 'ssl'
'authMode' => 'login'
];
// Отключить проверку SSL для почты (не рекомендуется)
$config['mailer']['options']['streamOptions']['ssl']['allow_self_signed'] = true;
$config['mailer']['options']['streamOptions']['ssl']['verify_peer'] = false;
$config['mailer']['options']['streamOptions']['ssl']['verify_peer_name'] = false;
9. Настройки файлового хранилища
// Использовать внешнее хранилище для вложений$config['externalDataUrl'] = 'https://cdn.ваш-сайт.ru/data';
$config['externalDataPath'] = '/путь/на/сервере';
// Использовать S3 или подобное
$config['fsAdapters']['data'] = [
'class' => 'Aws\S3\S3Client',
'config' => [
'credentials' => [
'key' => 'ваш_key',
'secret' => 'ваш_secret'
],
'region' => 'us-east-1',
'version' => 'latest',
'bucket' => 'ваш-бакет'
]
];
10. Настройки для русского языка/региона
// Часовой пояс по умолчанию$config['defaultTimeZone'] = 'Europe/Moscow';
// Язык по умолчанию
$config['defaultLanguage'] = 'ru-RU';
// Формат даты
$config['dateFormat'] = 'd.m.Y';
$config['timeFormat'] = 'H:i';
$config['dateTimeFormat'] = 'd.m.Y H:i';
// Первый день недели (0 - воскресенье, 1 - понедельник)
$config['firstDayOfWeek'] = 1;
11. Настройки CORS и заголовков безопасности (дополнение к п.4)
// CORS настройки для API$config['cors']['allowOrigins'] = ['https://ваш-сайт.ru'];
$config['cors']['allowMethods'] = ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'];
$config['cors']['allowHeaders'] = ['Content-Type', 'XF-Api-Key'];
$config['cors']['allowCredentials'] = true;
$config['cors']['maxAge'] = 86400;
// Дополнительные заголовки безопасности
$config['headers']['hsts'] = [
'maxAge' => 31536000,
'includeSubDomains' => true,
'preload' => false
];
$config['headers']['xssProtection'] = '1; mode=block';
$config['headers']['contentTypeOptions'] = 'nosniff';
$config['headers']['referrerPolicy'] = 'strict-origin-when-cross-origin';
12. Настройки защиты от спама
// Akismet антиспам$config['akismetKey'] = 'ваш_ключ';
$config['akismetUrl'] = 'https://ваш-сайт.ru';
// StopForumSpam
$config['stopForumSpam']['enabled'] = true;
$config['stopForumSpam']['confidenceThreshold'] = 75;
// Капча для конкретных действий
$config['captcha']['setup'] = true; // Регистрация
$config['captcha']['contact'] = true; // Контактная форма
$config['captcha']['lostPassword'] = true; // Восстановление пароля
// Лимиты для новых пользователей
$config['spam']['newUserPostLimit'] = 5; // Максимум постов в первые N часов
$config['spam']['newUserTimeLimit'] = 24; // N часов после регистрации
13. Настройки базы данных и оптимизации
// Настройки подключения к БД$config['db']['host'] = 'localhost';
$config['db']['port'] = 3306;
$config['db']['username'] = 'пользователь';
$config['db']['password'] = 'пароль';
$config['db']['dbname'] = 'база_данных';
$config['db']['charset'] = 'utf8mb4';
// Настройки пула соединений
$config['db']['persistent'] = true;
$config['db']['maxConnections'] = 50;
$config['db']['idleTimeout'] = 300;
// Репликация для чтения (если используется)
$config['db']['read'] = [
'host' => 'replica-server',
'username' => 'пользователь_чтения',
'password' => 'пароль_чтения'
];
// Включить сжатие между БД и PHP
$config['db']['compress'] = true;
14. Настройки загрузки файлов
// Максимальный размер загружаемых файлов$config['maxImageSize'] = 2048; // пиксели
$config['maxFileSize'] = 10485760; // 10MB в байтах
$config['maxAttachmentSize'] = 5242880; // 5MB
// Разрешенные типы файлов
$config['allowedAttachmentExtensions'] = ['jpg', 'jpeg', 'png', 'gif', 'pdf', 'zip'];
$config['allowedVideoExtensions'] = ['mp4', 'webm', 'ogg'];
// Водяные знаки
$config['watermark']['enabled'] = true;
$config['watermark']['image'] = 'data/watermark.png';
$config['watermark']['position'] = 'bottomRight';
$config['watermark']['minSize'] = 500; // минимальный размер для наложения
15. Настройки поиска
// Использовать Elasticsearch вместо стандартного поиска$config['search']['enabled'] = 'elasticsearch';
$config['search']['elasticsearch']['host'] = 'localhost';
$config['search']['elasticsearch']['port'] = 9200;
$config['search']['elasticsearch']['index'] = 'xf_forum';
// Настройки стандартного поиска
$config['search']['minWordLength'] = 3;
$config['search']['floodCheckTime'] = 10; // секунд между запросами
// Поиск по содержимому сообщений
$config['search']['includeContent'] = true;
16. Настройки API и веб-сервисов
// Включить REST API$config['enableApi'] = true;
// Ключи API для разных сервисов
$config['apiKeys']['mobileApp'] = 'случайный_ключ_1';
$config['apiKeys']['integration'] = 'случайный_ключ_2';
// Ограничения API
$config['api']['rateLimit'] = 100; // запросов в час
$config['api']['logRequests'] = true;
// Внешние веб-сервисы
$config['googleMapsApiKey'] = 'ваш_ключ';
$config['recaptcha']['siteKey'] = 'ваш_ключ';
$config['recaptcha']['secret'] = 'ваш_секрет';
17. Настройки уведомлений
// Методы уведомлений$config['enablePushNotifications'] = true;
$config['push']['service'] = 'onesignal'; // или 'firebase', 'custom'
// OneSignal настройки
$config['push']['onesignal']['appId'] = 'ваш_app_id';
$config['push']['onesignal']['apiKey'] = 'ваш_api_key';
// Ограничение частоты уведомлений
$config['notification']['cooldown'] = 300; // секунд между одинаковыми уведомлениями
// Отключение определенных типов уведомлений
$config['notification']['disabledTypes'] = ['user_like', 'profile_post_comment'];
18. Настройки для высоконагруженных проектов
// Кэширование запросов к БД$config['cache']['dbResults'] = true;
$config['cache']['dbResultsLength'] = 300; // секунд
// Статическое кэширование страниц
$config['pageCache']['enabled'] = true;
$config['pageCache']['lifetime'] = 900; // 15 минут
// Оптимизация для большого количества онлайн пользователей
$config['onlineStatus']['timeout'] = 600; // секунд неактивности
$config['onlineStatus']['cache'] = 'redis'; // кэш для онлайн статуса
// Отложенные задачи (deferred)
$config['deferred']['runManual'] = false;
$config['deferred']['maxRunTime'] = 30; // секунд
19. Настройки миграции и бэкапов
// Автоматические бэкапы$config['backup']['enabled'] = true;
$config['backup']['schedule'] = 'daily'; // daily, weekly, monthly
$config['backup']['keep'] = 30; // хранить последние 30 бэкапов
// Настройки облачного хранения бэкапов
$config['backup']['storage'] = 's3';
$config['backup']['s3Bucket'] = 'ваш-бэкап-бакет';
// Уведомления о бэкапах
$config['backup']['notifyEmail'] = 'admin@ваш-сайт.ru';
$config['backup']['notifyOnFailure'] = true;
20. Расширенные настройки модерации
// Автоматическая модерация$config['autoModerate']['newUsers'] = true;
$config['autoModerate']['postCount'] = 5; // сколько постов до автоодобрения
// Фильтр запрещенных слов/фраз
$config['censoredWords'] = ['спам', 'взлом', 'мошенничество'];
$config['censoredWords']['replaceWith'] = '***';
// Ограничение сообщений для новых пользователей
$config['newUserRestrictions']['maxLinks'] = 2;
$config['newUserRestrictions']['maxImages'] = 3;
$config['newUserRestrictions']['hourlyLimit'] = 5;
21. Настройки совместимости и миграции
// Режим совместимости со старыми версиями$config['compatibility']['oldTemplates'] = false;
$config['compatibility']['oldAddons'] = false;
// Настройки миграции с других платформ
$config['import']['vBulletin']['prefix'] = 'vb_';
$config['import']['phpBB']['prefix'] = 'phpbb_';
// Сохранение старых ID при импорте
$config['import']['preserveIds'] = true;
22. Системные настройки производительности
// Оптимизация шаблонов$config['template']['compileCheck'] = false; // на продакшене
$config['template']['cache'] = true;
// Сжатие вывода
$config['output']['compression'] = true;
$config['output']['minify'] = true;
$config['output']['inlineCss'] = true;
// Оптимизация загрузки JavaScript
$config['js']['defer'] = true;
$config['js']['async'] = true;
$config['js']['combine'] = true;