На MODX Revo, по умолчанию, названия файлов загружаемых изображений автоматически заменяются на безопасные названия, чтобы предотвратить возможные проблемы исходящие от пользовательского ввода. Однако, если вы хотите разрешить загрузку изображений с любыми названиями, вы можете внести несколько изменений в настройки MODX Revo и использовать косвенные методы.
Во-первых, установите allowUnsafeNames
в значение true
для конфигурации MODX, открыв файл core/config/config.inc.php
и добавив следующую строку:
$modx_config['allowUnsafeNames'] = true;
Затем, отредактируйте файл core/model/modx/modfileabstraction/modxfileabstraction.class.php
и найдите функцию getSafeFileName
. Закомментируйте или удалите следующий код:
$basename = preg_replace('/[^a-zA-Z0-9_-.]/', '', $basename); // Remove double dots from the filename $basename = str_replace('..', '.', $basename);
Теперь MODX не будет изменять названия загружаемых файлов. Однако, имейте в виду, что это может сделать ваш сайт и ваши пользователи более подверженными уязвимостям безопасности.
Также стоит отметить, что модификация кода MODX может привести к потере поддержки или возникновению проблем при обновлении MODX до новой версии, поэтому сделайте полную копию вашего сайта и базы данных перед внесением изменений.
Если вы все же хотите иметь возможность загружать файлы с различными названиями, рекомендуется использовать плагины или пользовательские модули MODX для создания собственной логики обработки загрузки файлов, чтобы обеспечить безопасность и гибкость вашего сайта.