【问题标题】:How to skip MIME type check for .OFT file extensions on MediaWiki如何在 MediaWiki 上跳过 .OFT 文件扩展名的 MIME 类型检查
【发布时间】:2020-08-23 02:14:00
【问题描述】:

在我的私人 wiki 上,我已启用使用 $wgFileExtensions 上传 Microsoft Outlook 2016 电子邮件模板 (.oft)。但是在上传一个经常文件时,我遇到了错误File extension ".oft" does not match the detected MIME type of the file (application/sla)

有没有办法解决或克服这个问题?或者可能是一种仅跳过 MIME 检查的方法?如果是这样,您能帮我提供必要的代码吗?

我还希望在单击文件链接时运行 Outlook。但这不像修复错误那样导入...感谢您的帮助。

【问题讨论】:

    标签: outlook mediawiki email-templates mediawiki-installation oft


    【解决方案1】:

    有一种快速且更安全的方法。

    最简单的选择是允许上传 MIME 类型与扩展名不匹配的内容。您可以通过在 LocalSettings.php 中添加以下内容来做到这一点(确保没有冲突的语句在另一行:

    $wgStrictFileExtensions = "false";
    

    如 Mediawiki 文档中所述,禁用 $wgStrictFileExtensions 是一个严重的安全风险,因此只有在您信任所有具有上传权限的用户时才这样做。它会给用户一个关于文件类型的警告,但无论如何都要上传文件。要完全不检查 MediaWiki,请使用以下命令彻底禁用 $wgVerifyMimeType

    $wgVerifyMimeType= "false";
    

    更合适的方法是让 MediaWiki 知道 'application/sla' 对于 .oft 文件是可以的。具有该扩展名的默认 MIME 类型数据库 expects 文件是 ODF 公式模板。 您可以通过为 MediaWiki 提供您自己的 MIME 类型定义文件来更改它。 在 Linux 中,您可能有 - 例如在 Debian 中,它是 /etc/mime.types。您可以添加行

    application/sla                oft
    

    并确保 LocalSettings.php 已将 $wgMimeTypeFile 设置为链接到该文件。在 Debian 示例中:

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

    【讨论】:

      【解决方案2】:

      经过进一步阅读,我终于找到了一个非hacky的解决方案来上传.oft

      1. 如果尚未完成,请将 .oft 文件添加到支持的扩展列表 ($wgFileExtensions)
      2. 在 MediaWiki 1.34.2 中,编辑 /includes/libs/mime/mime.types 并将 application/sla stl 修改为 application/sla stl oft。 (据我所知,1.35+这个目录改了)

      就是这样!在不降低和修改安全性的情况下,我现在可以上传.oft 文件。

      希望这可以帮助其他人解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-23
        • 1970-01-01
        • 2011-11-13
        • 2011-05-27
        • 2014-10-30
        • 2010-10-03
        • 2010-12-09
        • 1970-01-01
        相关资源
        最近更新 更多