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 檔未來的後果會是如何...這我就不能預料了。
近期迴響