Как пропустить проверку типа MIME для .Расширения файлов OFT в MediaWiki

#outlook #mediawiki #email-templates #mediawiki-installation #oft

#outlook #mediawiki #электронная почта-шаблоны #mediawiki-установка #oft

Вопрос:

В моей частной вики я разрешил загрузку шаблонов электронной почты Microsoft Outlook 2016 (.oft) с помощью $wgFileExtensions . Но при загрузке файла oft я сталкиваюсь с ошибкой File extension ".oft" does not match the detected MIME type of the file (application/sla) .

Есть ли способ исправить или преодолеть это? Или, возможно, способ пропустить проверки MIME только для файлов oft? И если да, не могли бы вы помочь мне с необходимым кодом, пожалуйста?

Я бы также хотел, чтобы Outlook запускался при нажатии на ссылку на файл. Но это не так важно, как исправление ошибки… Спасибо за любую помощь.

Ответ №1:

Есть быстрый и более безопасный способ.

Самым простым вариантом было бы разрешить загрузку в тех случаях, когда тип MIME не соответствует расширению. Вы можете сделать это, добавив следующее в свой LocalSettings.php (убедившись, что в другой строке нет конфликтующего оператора:

 $wgStrictFileExtensions = "false";
  

Отключение $wgStrictFileExtensions представляет серьезную угрозу безопасности, как указано в документации Mediawiki, поэтому делайте это, только если вы доверяете права на загрузку всем пользователям. Это выдаст пользователям предупреждение о типе файла, но файл все равно будет загружен. Чтобы вообще не проверять MediaWiki, отключите $wgVerifyMimeType с помощью:

 $wgVerifyMimeType= "false";
  

Более правильный способ — дать MediaWiki знать, что ‘application / sla’ подходит для файлов .oft. База данных MIME-типа по умолчанию ожидает, что файлы с этим расширением будут шаблонами формул ODF.
Вы можете изменить это, предоставив MediaWiki свой собственный файл определения типов MIME.
В Linux у вас может быть — например, в Debian, это /etc/mime.types. Вы можете добавить строку

 application/sla                oft
  

И убедитесь, что LocalSettings.php для $wgMimeTypeFile установлено значение ссылки на этот файл. В примере Debian:

 $wgMimeTypeFile = "/etc/mime.types";
  

Ответ №2:

Прочитав дальше, я, наконец, нашел нехакерное решение для загрузки .oft :

  1. Если это еще не сделано, добавьте .oft файлы в список поддерживаемых расширений ( $wgFileExtensions )
  2. В MediaWiki 1.34.2 отредактируйте /includes/libs/mime/mime.types и измените application/sla stl на application/sla stl oft . (Насколько я знаю, этот каталог изменен на 1.35 )

Вот и все! Теперь я могу загружать .oft файлы без снижения уровня безопасности и внесения изменений в него.

Надеюсь, это поможет другим, кто борется с этим.