VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
PHP:
Минимальная версия: PHP 7.4 (тестировал мало, чисто случайно увидел, что работает и на нём )
Рекомендуемая версия: PHP 8.5
SQL:
Всё как для 3.8.12, здесь ничего не менялось.
Кодировка базы данных:
Минимально необходимо utf8. Возможно, оно будет работать и на cp-1251, но мне это устаревшее направление больше вообще не интересно, и на вопросы по поддержке этой кодировки я отвечать не буду. Перед установкой перейдите на utf8!
Для полной поддержки Unicode, включая эмодзи, необходимо использовать utf8mb4.
ББ-коды с поддержкой трансформаций из ссылок (паттерны и регексы). Пример будет в админке.
Поддержка показа аватары последнего ответившего в теме участника на главной странице форума и на страницах форумов и тем (пока только бэк-энд).
Часовые баны (не тестировалось со времён внедрения на моём форуме, нужно будет проверить).
Новые хуки:
global.php
notices_complete
notices_start
variables_declaration_global_headinclude
includes/functions.php
variables_declaration_standard_error_navbar
includes/adminfunctions_template.php
admin_template_special_templates
editpost.php
editpost_update_ajax_postbit
editpost_update_preview
editpost_update_quickedit
editpost_update_saved
editpost_update_thread_saved
newreply.php
newreply_post_ajax_response
newreply_post_errors
newreply_post_preview
newthread.php
newthread_post_errors
newthread_post_preview
private.php
private_insertpm_errors
private_insertpm_preview
private_insertpm_saved
private_newpm_complete
private_parsepm_attachments
private_showpm_quickreply
Обновлённый словарик поисковых ботов для online.php.
Поддержка Реакт-машины, это такие современные жаваскрипт-скрипты. (пока только бэк-энд). На ней на моём форуме уже крутится новая форма ответа и модификация спасиб, превращающая их в реакции, как в телеграме или фейсбуке. Продукты выложу позже, когда приду к пониманию, как их выпускать.
Redis и новая подсистема сессий
Добавлена полноценная поддержка Redis как backend для пользовательских сессий через vB_Session_Redis. При работе с известным sessionhash runtime-сессия загружается непосредственно из Redis без предварительного SQL-чтения таблицы session. Новая подсистема сессий позволяет использовать Redis для снижения нагрузки на MySQL, уменьшает количество SQL-записей активности и лучше защищает форум от разрастания гостевых сессий при бот-трафике.
Подсистема сессий разделена на два слоя:
session — SQL-проекция активности и присутствия пользователей;
sessiondata — полный runtime payload при использовании database backend; Redis — полный runtime payload при использовании Redis backend.
Добавлен выбор backend сессий через конфигурацию:
vB_Session_Database — хранение runtime payload в InnoDB-таблице sessiondata;
vB_Session_Redis — хранение runtime payload в Redis.
Database backend остаётся вариантом по умолчанию.
Добавлена поддержка Redis для datastore через vB_Datastore_Redis. Datastore и пользовательские сессии могут использовать Redis независимо друг от друга.
Добавлен единый Redis transport и общий блок конфигурации подключения. Datastore и sessions используют отдельные пространства ключей, что позволяет безопасно использовать один Redis-сервер для нескольких задач и установок форума.
Добавлено ограничение частоты SQL-обновлений активности сессии через $config['Session']['activityupdateinterval']. Это уменьшает количество записей в БД при высоком трафике. Значение по умолчанию — 15 секунд.
Добавлен лимит количества гостевых сессий через $config['Misc']['maxguestsessions']. Он защищает таблицу session от неконтролируемого роста при большом количестве ботов и гостей. Значение 0 отключает лимит.
Для Redis-сессий добавлен отдельный прикладной лимит памяти через $config['Session']['redismaxmemory']. При превышении лимита в первую очередь удаляются наиболее старые гостевые сессии. Значение 0 отключает этот лимит.
Redis session backend не использует SQL payload как резервное хранилище. Если Redis выбран для сессий и становится недоступен, форум выдаёт явную ошибку вместо незаметного переключения на другой backend.
При этом отсутствие отдельного session key в работающем Redis считается обычным промахом по сессии и обрабатывается штатно.
Добавлена синхронизация удаления, logout, invalidation, очистки истёкших сессий и массовых изменений с SQL-проекцией активности.
Схема БД переработана под новую архитектуру. Таблица session теперь хранит только activity/presence-данные, а sessiondata используется как отдельное InnoDB-хранилище полного runtime-состояния в database mode.
class_dm_userpic.php - Оставил как у себя, чтобы старые аватары не удалялись, а оставались для истории. ВОзможно, стоит из этого сделать опцию. Сейчас код удаления закомментирован.
Рекапча v2 из коробки.
Поддержка новых типов изображений: WebP, AVIF, SVG
Обновлён класс криптографии
Обновлён функционал взаимодействия с PayPal
Поддержка обновлений форума аж начиная с версии 2.3.10. Не знаю, кому это ещё надо, но теперь работает.
Поддержка эимодзи из коробки
Оптимизация таблицы постов для статистики
Напоминаю, что это Release Candidate! Поэтому, включите все ворнинги и deprecated сообщения, а так же включите логирование в настройках форума и все-все ошибки кидайте в эту тему.
Апгрейд до альфы может быть долгим, если у вас большой форум. Это нормально, добавляются новые индексы в таблицы, чтобы исправить перерасчёт счётчиков, который был сломан, если форум большой. Если страница вылетела по таймауту, просто обновите её, когда процесс апгрейда БД прекратится.
При установке отключите хаки в конфиге.
PHP Code:
define('DISABLE_HOOKS', true);
Потом включайте хаки назад и правьте ошибки. Ошибки хаков кидайте не в эту тему, а в отдельные темы в этом разделе. В этой теме мы правим только ошибки чистого движка.