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;