簡體   English   中英

如何在 MediaWiki 上跳過 .OFT 文件擴展名的 MIME 類型檢查

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

在我的私人維基上,我使用$wgFileExtensions啟用了 Microsoft Outlook 2016 電子郵件模板 (.oft) 的$wgFileExtensions 但是當上傳一個經常文件時,我遇到了錯誤File extension ".oft" does not match the detected MIME type of the file (application/sla)

有沒有辦法解決或克服這個問題? 或者也許是一種僅跳過經常文件的 MIME 檢查的方法? 如果是這樣,你能幫我提供必要的代碼嗎?

我還希望在單擊文件鏈接時運行 Outlook。 但這並不像修復錯誤那樣重要......感謝您的幫助。

有一種快速和更安全的方法。

最簡單的選擇是允許在 MIME 類型與擴展名不匹配的情況下上傳。 您可以通過在 LocalSettings.php 中添加以下內容來做到這一點(確保另一行沒有沖突的語句:

$wgStrictFileExtensions = "false";

正如 Mediawiki 文檔中所述,禁用$wgStrictFileExtensions是一個嚴重的安全風險,因此只有在您信任所有具有上傳權限的用戶時才這樣做。 它會給用戶一個關於文件類型的警告,但無論如何都要上傳文件。 要完全不檢查 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";

進一步閱讀后,我終於找到了上傳.oft的非hacky解決方案:

  1. 如果尚未完成,請將.oft文件添加到支持的擴展名列表 ( $wgFileExtensions )
  2. 在 MediaWiki 1.34.2 中,編輯/includes/libs/mime/mime.types並將application/sla stl修改為application/sla stl oft (據我所知,此目錄已更改為 1.35+)

就是這樣! 在不降低和修改安全性的情況下,我現在可以上傳.oft文件。

希望這可以幫助其他人為此苦苦掙扎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM