загрузка с сохранением файла в Drupal переименовывает в txt для файлов js

#drupal #file-upload #drupal-6 #drupal-modules

#drupal #загрузка файла #drupal-6 #drupal-модули

Вопрос:

Я использую IMCE для загрузки файлов для изменений css и js, но всякий раз, когда я загружаю js, он переименовывается в файлы .txt. Я просмотрел код и при загрузке отправки в imce он использует drupal API file_save_upload,

 // Rename potentially executable files, to help prevent exploits.
if (preg_match('/.(php|pl|py|cgi|asp|js)$/i', $file->filename) amp;amp; (substr($file->filename, -4) != '.txt')) {
  $file->filemime = 'text/plain';
  $file->filepath .= '.txt';
  $file->filename .= '.txt';
}
  

Его определение в includes/file.inc нем также не дает возможности переопределить его, используя настройки администратора для разрешенных расширений. Я действительно не хочу менять это для стандартов, но остался другой вариант — определить ту же функцию с другим именем с разрешенными расширениями где-нибудь в imce, есть ли другой лучший способ сделать это?
PS: Я не хочу использовать FTP, так как хочу, чтобы пользователи использовали imce на основе этих профилей

Ответ №1:

Обыскал много мест, это должно было быть сделано с помощью метода переменной get, чтобы администратор мог решать, что загружать, а что нет. загружать. Единственный способ — взломать функцию копирования imce переименовать и вызвать эту новую, а в новой предоставить интерфейс администратора.

Комментарии:

1. В Drupal 7 вы можете установить allow_insecure_uploads , как описано в file_munge_filename() , и вместо этого отредактировать конфигурацию сервера, чтобы гарантировать, что файлы не будут выполняться сервером по запросу пользователя.