【问题标题】:Permit any file type to be uploaded in Media-Wiki?允许在 Media-Wiki 中上传任何文件类型?
【发布时间】:2020-12-11 05:54:01
【问题描述】:

我想在 Media-Wiki 中启用所有文件上传(除了那些被明确列入黑名单的文件,如 .exe)。

环境

我正在使用预装了 16.0 的虚拟机 Linux 统包 ova 设备 (turnkey-mediawiki-16.0-buster-amd64)。

我尝试了什么 1

我已通过多种方式修改了LocalSettings.php 以使其正常工作。我已经成功上传了一些文件。

问题是我的文件类型 (.drawio) 在文本编辑器中打开时实际上包含 XML。当我上传这些我得到这个错误:

File extension ".drawio" does not match the detected MIME type of the file (application/xml).

如果我将扩展名更改为.xml,我可以上传相同的文件。但我想强迫人们更改文件扩展名只是为了让它上传。

当他们下载这些文件时,应用程序会查找此扩展名,并且他们每次都必须重命名它们。它会很快变得烦人。

我尝试了什么 2

  • 我设置$wgFileUpload = On
  • 我将drawioxml 都添加到$wgFileExtensions 列表中。
  • 我确保 application/xml 是 $wgTrustedMediaFormats 中允许的 mime 类型。
  • 我尝试通过将$wgCheckFileExtensions$wgStrictFileExtensions 都设置为false 来禁用mime 类型验证。

上下文

这是用于内部的、非公开的文档 wiki,因此我信任使用它的人,并且我很乐意禁用文件扩展名验证并允许所有文件类型。

对于我可以尝试的任何其他想法?

【问题讨论】:

    标签: file-upload mediawiki mime-types file-extension


    【解决方案1】:

    我的错。 $wgVerifyMimeType = false 有效。我胖手指了!

    【讨论】:

      【解决方案2】:

      除了完全禁用 mime 类型验证(安全风险),您还可以为 file-extension .drawiomime 添加缺少的映射-type application/xml 类似问题中的描述:

      How to skip MIME type check for .OFT file extensions on MediaWiki

      在您的主机环境(Linux,基于 Debian 的 Media-Wiki Turnkey images)中,您可以通过将所需的映射从 mime-type 添加到 文件扩展名:

      application/xml                drawio
      

      并在LocalSettings.php 中添加此mime 类型文件 的路径,例如:

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

      然后Media-Wiki将在验证接收到的文件时确认新的文件类型(mime-type匹配文件扩展名)并最终允许上传。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-28
      • 1970-01-01
      • 2013-04-04
      • 2021-01-26
      • 1970-01-01
      • 2011-01-29
      • 2021-01-01
      • 1970-01-01
      相关资源
      最近更新 更多