Обновление до 2.8.2 и 2.8.3 (и новее)
Последнее обновление Jun 2nd, 2021 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn moreРелизы MODX 2.8.2 и 2.8.3 содержат несколько улучшений безопасности, которые могут отрицательно повлиять на существующие сайты. В этом документе подробно описаны возможные последствия и способы их устранения.
Примечание: выпуск v2.8.2 содержал несколько ошибок. В частности, возможность отображать статический HTML-код была непреднамеренно удалена и редакторы форматированного текста, такие как TinyMCE, больше не могли отображать медиа-браузер. Эти проблемы были исправлены в версии 2.8.3, выпущенной 28 мая.
Статические пути к ресурсам¶
После обновления до 2.8.2 все статические ресурсы по умолчанию ограничены каталогом ресурсов, если вы предварительно не настроили resource_static_path. Статические ресурсы, расположенные где-либо еще (ядро, вне корневого веб-узла и т.д.), выдадут 404 (#15656).
Если вы используете статические ресурсы и храните их где-нибудь еще, у вас есть несколько вариантов:
- (Рекомендуется) Настройте системную настройку
resource_static_path, чтобы указать абсолютный путь, по которому расположены ваши статические файлы ресурсов. Например, если вы храните свои статические файлы ресурсов вcore/files/, измените настройку на{core_path}files/. Если ваши статические ресурсы находятся где-нибудь в корне веб-сайта, вы можете использовать{base_path}. - (Не рекомендуется) Включите новую системную настройку
resource_static_allow_absolute, которая позволит предоставить любой допустимый абсолютный путь к статическому ресурсу.
Важно: включение
resource_static_allow_absoluteили настройка слишком широкого пути вresource_static_pathпозволит злонамеренному пользователю-менеджеру получить доступ к любому файлу в файловой системе, включая файлы, которые не должны быть раскрыты, например файлы конфигурации или файлы сервера. Либо установите его в общедоступный каталог, такой как активы, либо в каталог, относящийся к статическим ресурсам, чтобы нельзя было прочитать файлы, к которым пользователь не должен иметь доступа.
Разрешения на статические ресурсы, веб-ссылки и символические ссылки¶
Ранее существовали разрешения new_static_resource, new_weblink и new_symlink и влияли на то, какие типы ресурсов отображались на панели инструментов дерева ресурсов, однако на самом деле они не применялись и легко обходились путем редактирования существующего ресурса для изменения его типа или настройки тип ресурса для использования в параметрах URL.
В 2.8.2 принудительно разрешено создание этих типов ресурсов, и были добавлены новые разрешения, чтобы предложить больший контроль над редактированием и удалением этих типов ресурсов, а также принудительное применение разрешений на их создание.
Предоставляемые ядром политики доступа «Администратор», «Редактор содержимого» и «Разработчик» были обновлены и теперь включают эти разрешения по умолчанию. Если у вас есть собственные политики и вы ожидаете, что ваши пользователи смогут управлять статическими ресурсами, веб-ссылками или символическими ссылками, вам необходимо добавить следующие разрешения: edit_weblink, edit_symlink, edit_static_resource, delete_weblink, delete_symlink, delete_static_resource. Также требуются общие разрешения edit_document и delete_document.
[[++table_prefix]] в @SELECT TV параметрах¶
Если бы вы использовали [[++table_prefix]] в TV параметрах, в 2.8.2 это нужно заменить на [[+PREFIX]]. #15695 В 2.8.3 [[++table_prefix]] плейсхолдер восстановлен. #15714
Пользовательские темы диспетчера¶
Если вы используете настраиваемую тему менеджера, вы можете обнаружить, что менеджер больше не работает после обновления. В консоли разработчика могут появляться различные сообщения об ошибках, которые являются результатом повышенной безопасности при загрузке конфигурации. (#15644).
Найдите в собственной теме файл header.tpl (например manager/templates/mytheme/header.tpl) и замените modx.config.js.php ссылку на сценарий из:
<script src="{$_config.connectors_url}modx.config.js.php?action={$smarty.get.a|default|htmlspecialchars}{if $_ctx}&wctx={$_ctx}{/if}"></script>
к следующему, включая предоставление токена HTTP_MODAUTH:
<script src="{$_config.connectors_url}modx.config.js.php?action={$smarty.get.a|default|htmlspecialchars}{if $_ctx}&wctx={$_ctx}{/if}&HTTP_MODAUTH={$_authToken|default|htmlspecialchars}"></script>
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$280 per month—let's make that $500!
Learn more










