- Автор
-
TopForo.ru
- Совместимость с XenForo
-
- XF 2.2+
- XF 2.3+
- Видимый копирайт
- Нет
- Статус
- Протестирован
- Требования
-
XenForo 2.2.0+
XenForo Resource Manager 2.2.0+
PHP 7.2.0+
- Русификатор
- В архиве
Resource Compatibility Manager - это дополнение для XenForo Resource Manager, предназначенное для автоматической проверки ZIP-архивов с дополнениями XenForo.
Плагин анализирует содержимое загруженных архивов, извлекает метаданные аддонов, проверяет заявленные системные требования, структуру пакета, PHP-синтаксис, XML-файлы и контрольные суммы.
Результаты анализа сохраняются в базе данных и отображаются непосредственно на странице соответствующего ресурса. Это позволяет администраторам, разработчикам и пользователям получать предварительную информацию о содержимом опубликованного пакета до его установки.
Дополнение особенно полезно для форумов, на которых пользователи публикуют собственные аддоны, обновления и другие ресурсы для XenForo. Оно упрощает первичную проверку загружаемых файлов и помогает обнаруживать распространённые ошибки в структуре пакетов.
Resource Compatibility Manager выполняет статический анализ файлов и не устанавливает проверяемые дополнения автоматически.
Для проверки используется локальный ZIP-архив текущей версии ресурса, прикреплённый через XenForo Resource Manager.
Во время анализа плагин определяет содержимое архива и выполняет доступные проверки. Результат сохраняется и может быть показан на странице ресурса.
Если архив отсутствует или не подходит для анализа, плагин сохраняет соответствующий статус и выводит пояснение.
Внешние ссылки на файлы не скачиваются для проверки.
В процессе проверки определяются:
Если в архиве присутствует несколько кандидатов на основной файл addon.json, плагин выбирает наиболее подходящий по структуре расположения.
В зависимости от содержимого addon.json анализируются:
Важно учитывать, что плагин анализирует требования, указанные разработчиком в метаданных. Он не гарантирует фактическую работоспособность дополнения на всех версиях, которые формально соответствуют этим требованиям.
Проверка помогает определить, соответствует ли пакет заявленным системным требованиям, и обратить внимание на версии, которые могут не поддерживаться.
Результаты основаны на метаданных аддона и не являются полноценным тестированием совместимости.
Фактическая работоспособность может зависеть от используемых API XenForo, сторонних дополнений, версии PHP и других особенностей окружения.
Проверка позволяет выявлять синтаксические ошибки, которые могут препятствовать обработке PHP-кода.
Также анализируются некоторые устаревшие или удалённые функции и конструкции, которые могут требовать внимания разработчика.
При обнаружении потенциально опасных вызовов, включая отдельные функции выполнения команд и динамического выполнения кода, плагин может формировать предупреждения.
Наличие такой функции само по себе не означает, что дополнение вредоносное. Результат необходимо оценивать с учётом контекста использования и назначения кода.
Плагин не запускает проверяемые PHP-файлы как часть обычного статического анализа.
Это помогает выявлять ошибки в файлах данных, используемых дополнениями XenForo, в том числе проблемы, возникающие при подготовке пакета к публикации.
Если XML-файл не удаётся корректно разобрать или на сервере отсутствуют необходимые средства проверки, результат анализа содержит соответствующую информацию.
Проверка синтаксиса XML не гарантирует правильность всех данных и их совместимость с конкретной версией XenForo.
Для проверки используется алгоритм SHA-256.
Анализ помогает обнаруживать:
Контрольные суммы не являются цифровой подписью. Даже полностью совпадающие хэши не подтверждают личность разработчика и не гарантируют безопасность содержимого.
В частности, проверяются:
Сам анализ не означает, что архив распаковывается в рабочую директорию XenForo.
Используются следующие лимиты:
Если архив превышает допустимые пределы, проверка может завершиться с ошибкой или предупреждением вместо полного анализа.
В зависимости от содержимого архива и выполненных проверок пользователю могут быть доступны:
Администратор может настроить проверку в соответствии со структурой собственного каталога ресурсов и ограничить её определёнными разделами.
Это позволяет использовать автоматический анализ преимущественно для категорий с дополнениями XenForo, не распространяя его на ресурсы, для которых подобная проверка не требуется.
Доступность проверки зависит от настроек категорий и наличия подходящего локального ZIP-архива.
Для этого используется действие повторной проверки на странице ресурса.
Ручной запуск полезен, когда требуется заново проанализировать текущую версию архива и обновить сохранённый результат.
При повторной проверке анализ выполняется принудительно, а результат сохраняется для последующего отображения.
Это позволяет повторно показывать ранее полученные сведения без необходимости каждый раз выполнять полный анализ одного и того же архива.
При появлении новой версии ресурса плагин может выполнить новую проверку и сохранить актуальный результат.
Таким образом, результаты анализа относятся к конкретной версии ресурса, а не являются универсальным заключением обо всех предыдущих и будущих версиях дополнения.
Resource Compatibility Manager будет полезен:
Успешный результат означает, что выполненные проверки не выявили проблем по соответствующим критериям. Это не является гарантией полной совместимости или безопасности дополнения.
Для проверки работоспособности рекомендуется устанавливать новые дополнения на отдельную тестовую копию XenForo перед использованием на основном форуме.
Автоматический анализ предназначен для локально загруженных ZIP-архивов текущей версии ресурса. Внешние ссылки не скачиваются, а архивы, превышающие установленные лимиты, могут не пройти проверку.
Для работы с архивами требуется расширение PHP ZipArchive, а для проверки XML-файлов - PHP DOM.
Плагин анализирует содержимое загруженных архивов, извлекает метаданные аддонов, проверяет заявленные системные требования, структуру пакета, PHP-синтаксис, XML-файлы и контрольные суммы.
Результаты анализа сохраняются в базе данных и отображаются непосредственно на странице соответствующего ресурса. Это позволяет администраторам, разработчикам и пользователям получать предварительную информацию о содержимом опубликованного пакета до его установки.
Дополнение особенно полезно для форумов, на которых пользователи публикуют собственные аддоны, обновления и другие ресурсы для XenForo. Оно упрощает первичную проверку загружаемых файлов и помогает обнаруживать распространённые ошибки в структуре пакетов.
Resource Compatibility Manager выполняет статический анализ файлов и не устанавливает проверяемые дополнения автоматически.
Основные возможности -
Автоматическая проверка ZIP-архивов
Плагин автоматически запускает проверку при публикации ресурса и загрузке новой версии, если для соответствующей категории включён анализ.Для проверки используется локальный ZIP-архив текущей версии ресурса, прикреплённый через XenForo Resource Manager.
Во время анализа плагин определяет содержимое архива и выполняет доступные проверки. Результат сохраняется и может быть показан на странице ресурса.
Если архив отсутствует или не подходит для анализа, плагин сохраняет соответствующий статус и выводит пояснение.
Внешние ссылки на файлы не скачиваются для проверки.
Проверка структуры аддона
Плагин анализирует структуру ZIP-архива и ищет файл addon.json, содержащий метаданные дополнения XenForo.В процессе проверки определяются:
- Наличие файла addon.json.
- Возможность прочитать и разобрать JSON.
- Название и версия обнаруженного аддона.
- Идентификатор дополнения, определяемый по структуре файлов.
- Расположение файла метаданных в архиве.
- Наличие нескольких файлов addon.json и возможные неоднозначности.
Если в архиве присутствует несколько кандидатов на основной файл addon.json, плагин выбирает наиболее подходящий по структуре расположения.
Анализ системных требований
Resource Compatibility Manager считывает метаданные дополнения и извлекает заявленные системные требования.В зависимости от содержимого addon.json анализируются:
- Минимальная версия XenForo.
- Минимальная версия PHP.
- Требования к другим дополнениям и компонентам XenForo.
Важно учитывать, что плагин анализирует требования, указанные разработчиком в метаданных. Он не гарантирует фактическую работоспособность дополнения на всех версиях, которые формально соответствуют этим требованиям.
Проверка совместимости с версиями XenForo
Плагин анализирует сведения о минимальной версии XenForo, заявленной в addon.json, и формирует информацию о совместимости с версиями движка.Проверка помогает определить, соответствует ли пакет заявленным системным требованиям, и обратить внимание на версии, которые могут не поддерживаться.
Результаты основаны на метаданных аддона и не являются полноценным тестированием совместимости.
Фактическая работоспособность может зависеть от используемых API XenForo, сторонних дополнений, версии PHP и других особенностей окружения.
Проверка PHP-файлов
Плагин обнаруживает PHP-файлы внутри архива и выполняет их статический анализ.Проверка позволяет выявлять синтаксические ошибки, которые могут препятствовать обработке PHP-кода.
Также анализируются некоторые устаревшие или удалённые функции и конструкции, которые могут требовать внимания разработчика.
При обнаружении потенциально опасных вызовов, включая отдельные функции выполнения команд и динамического выполнения кода, плагин может формировать предупреждения.
Наличие такой функции само по себе не означает, что дополнение вредоносное. Результат необходимо оценивать с учётом контекста использования и назначения кода.
Плагин не запускает проверяемые PHP-файлы как часть обычного статического анализа.
Проверка XML-файлов
Resource Compatibility Manager обнаруживает XML-файлы в архиве и проверяет их синтаксическую корректность.Это помогает выявлять ошибки в файлах данных, используемых дополнениями XenForo, в том числе проблемы, возникающие при подготовке пакета к публикации.
Если XML-файл не удаётся корректно разобрать или на сервере отсутствуют необходимые средства проверки, результат анализа содержит соответствующую информацию.
Проверка синтаксиса XML не гарантирует правильность всех данных и их совместимость с конкретной версией XenForo.
Проверка контрольных сумм hashes.json
При наличии hashes.json плагин проверяет контрольные суммы файлов, перечисленных в этом документе.Для проверки используется алгоритм SHA-256.
Анализ помогает обнаруживать:
- Отсутствующие файлы, указанные в манифесте.
- Несовпадения контрольных сумм.
- Некорректный формат документа с хэшами.
- Проблемы, препятствующие проверке целостности файлов.
Контрольные суммы не являются цифровой подписью. Даже полностью совпадающие хэши не подтверждают личность разработчика и не гарантируют безопасность содержимого.
Проверка путей внутри архива
Плагин анализирует пути файлов, записанных в ZIP-архиве, и отмечает потенциально небезопасные варианты.В частности, проверяются:
- Абсолютные пути.
- Пути с переходом к родительским каталогам.
- Некорректные или подозрительные пути, которые могут представлять риск при обработке архива.
Сам анализ не означает, что архив распаковывается в рабочую директорию XenForo.
Ограничения размера и защита от чрезмерной нагрузки
Для контроля нагрузки при анализе предусмотрены ограничения на размер архива, количество записей и объём обрабатываемых данных.Используются следующие лимиты:
- Максимальный размер ZIP-архива - 150 МиБ.
- Максимальное количество записей в архиве - 5000.
- Максимальный суммарный распакованный размер - 512 МиБ.
- Максимальный размер отдельного PHP- или XML-файла для анализа - 8 МиБ.
Если архив превышает допустимые пределы, проверка может завершиться с ошибкой или предупреждением вместо полного анализа.
Отображение результатов на странице ресурса
Результаты проверки сохраняются и отображаются в интерфейсе XenForo Resource Manager.В зависимости от содержимого архива и выполненных проверок пользователю могут быть доступны:
- Общий статус анализа.
- Краткое описание результата.
- Название и версия обнаруженного дополнения.
- Информация о заявленных системных требованиях.
- Результаты проверки совместимости.
- Список обнаруженных ошибок и предупреждений.
- Дата последней проверки.
- Статистика обработанных файлов, включая PHP- и XML-файлы.
Настройка категорий ресурсов
В настройках дополнения предусмотрена возможность выбора категорий XenForo Resource Manager, для которых необходимо выполнять анализ.Администратор может настроить проверку в соответствии со структурой собственного каталога ресурсов и ограничить её определёнными разделами.
Это позволяет использовать автоматический анализ преимущественно для категорий с дополнениями XenForo, не распространяя его на ресурсы, для которых подобная проверка не требуется.
Доступность проверки зависит от настроек категорий и наличия подходящего локального ZIP-архива.
Повторная проверка вручную
Плагин позволяет повторно запустить анализ ресурса пользователю, обладающему правом редактирования этого ресурса.Для этого используется действие повторной проверки на странице ресурса.
Ручной запуск полезен, когда требуется заново проанализировать текущую версию архива и обновить сохранённый результат.
При повторной проверке анализ выполняется принудительно, а результат сохраняется для последующего отображения.
Сохранение результатов проверки
Результаты анализа сохраняются в базе данных и связываются с проверяемой версией ресурса.Это позволяет повторно показывать ранее полученные сведения без необходимости каждый раз выполнять полный анализ одного и того же архива.
При появлении новой версии ресурса плагин может выполнить новую проверку и сохранить актуальный результат.
Таким образом, результаты анализа относятся к конкретной версии ресурса, а не являются универсальным заключением обо всех предыдущих и будущих версиях дополнения.
Как работает плагин?
- Пользователь публикует ресурс или загружает новую версию в раздел ресурсов.
- Плагин проверяет, разрешён ли анализ для категории ресурса.
- Определяется локальный ZIP-архив текущей версии.
- Проверяется размер архива и доступность необходимых PHP-расширений.
- Анализируются структура ZIP, метаданные addon.json и заявленные системные требования.
- Выполняются проверки PHP-файлов, XML-файлов, путей и контрольных сумм, если соответствующие данные присутствуют.
- Формируется итоговый результат с информацией об обнаруженных ошибках и предупреждениях.
- Результат сохраняется в базе данных и отображается на странице ресурса.
Resource Compatibility Manager будет полезен:
- Владельцам форумов, использующих XenForo Resource Manager для распространения дополнений.
- Администраторам открытых каталогов ресурсов XenForo.
- Разработчикам, публикующим собственные аддоны и обновления.
- Сообществам, в которых пользователи загружают ZIP-архивы с дополнениями.
- Администраторам, которым необходимо упростить предварительную проверку структуры и целостности опубликованных пакетов.
Важная информация
Resource Compatibility Manager выполняет статический анализ ZIP-архивов. Он не устанавливает проверяемые дополнения, не запускает их функциональность и не гарантирует обнаружение всех ошибок, уязвимостей или вредоносного кода.Успешный результат означает, что выполненные проверки не выявили проблем по соответствующим критериям. Это не является гарантией полной совместимости или безопасности дополнения.
Для проверки работоспособности рекомендуется устанавливать новые дополнения на отдельную тестовую копию XenForo перед использованием на основном форуме.
Автоматический анализ предназначен для локально загруженных ZIP-архивов текущей версии ресурса. Внешние ссылки не скачиваются, а архивы, превышающие установленные лимиты, могут не пройти проверку.
Для работы с архивами требуется расширение PHP ZipArchive, а для проверки XML-файлов - PHP DOM.