Archive for ‘ 三月, 2017

設定 MediaWiki 可以上傳 zip 檔

MediaWiki 預設只能上傳 png、gif、jpg、jpeg 這些圖檔,我們可以在 LocalSettings.php 編輯:

$wgEnableUploads  = false;
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );

加入你額外想要上傳的檔案類型 (找不到這兩行的話就自己加上去):

$wgEnableUploads  = true;
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'zip', 'pdf', 'rar' );

上面的目的是為了可以額外再上傳 zip、pdf、rar 類型的檔案。可惜事與願違,上傳 pdf 與 rar 檔都沒問是,但要上傳 zip 檔卻給我出現:

MIME 類別 "application/zip" 不是容許的檔案格式。

原來是因為 MediaWiki 有設一些副檔名的「黑名單」,剛好 zip 就在其中,設定檔在: includes/DefaultSettings.php

找到內容:

$wgMimeTypeBlacklist= array(
        # HTML may contain cookie-stealing JavaScript and web bugs
        'text/html', 'text/javascript', 'text/x-javascript',  'application/x-shellscript',
        # PHP scripts may execute arbitrary code on the server
        'application/x-php', 'text/x-php',
        # Other types that may be interpreted by some servers
        'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh',
        # Client-side hazards on Internet Explorer
        'text/scriptlet', 'application/x-msdownload',
        # Windows metafile, client-side vulnerability on some systems
        'application/x-msmetafile',
        # A ZIP file may be a valid Java archive containing an applet which exploits the
        # same-origin policy to steal cookies
        'application/zip',
);

將「'application/zip',」刪除即可。

至於上傳 zip 檔未來的後果會是如何...這我就不能預料了。

return top