Mediawiki允许多种文件类型(格式)文件上传设置

开启Mediawiki上传设置,默认支持的文件格式是: ‘png’, ‘gif’, ‘jpg’, ‘jpeg’ 。

支持多种文件类型上传设置

当上传其他文件格式时会提示(假设.svg格式)

“.svg”是一种不准许的文件类型。容许的多种文件类型有png, gif, jpg, jpeg

找到“includes/DefaultSettings.php”修改

$wgFileExtensions = array( ‘png’, ‘gif’, ‘jpg’, ‘jpeg’ );

$wgFileExtensions = array( ‘png’, ‘gif’, ‘jpg’, ‘jpeg’, ‘svg’ );

保存后就可以上传”.svg”格式的文件了,当然你也可以添加更多其他格式的文件类型,比如我的:

$wgFileExtensions = array( ‘png’, ‘gif’, ‘jpg’, ‘jpeg’ ,’docx’,’rar’,’zip’,’pdf’);

引用下Wikimedia的原文:

Supported file types

By default, MediaWiki only allows you to upload certain types of files (extensions gif, jpg, jpeg, ogg and png). This is managed by the orders in includes/DefaultSettings.php

参考:http://meta.wikimedia.org/wiki/Help:Images_and_other_uploaded_files

取消 MIME类别”application/zip”的文件格式限制

当上传pdf的时候没有问题,但是上传docx或者zip格式的文件时就会提示:

不可以上传这个文件,因为 Internet Explorer 会将它侦测为 “application/zip”,它是一种不容许以及有潜在危险性之文件类型。

同上面找到“includes/DefaultSettings.php”默认配置文件修改 $wgMimeTypeBlacklist的值

$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’, //by baicailin
);

在’application/zip’前面加#号(注释掉这行),然后上传zip文件,通过!

ziptest.zip‎ (文件大小:248 KB,MIME类型:application/zip)
警告:该文件类型可能包含恶意代码。运行它可能对您的系统带来危险。

附注 配置MIME类型(设置):

配置Apache MIME 类型

默认,Apache 通过检查文件的扩展名来决定与每个文件一起发送的媒体类型。扩展名类型映射存储于 httpd/conf 目录(通常是类似 /usr/httpd/conf 或 /etc/httpd/conf 的目录)下的 mime.types 文件中。

配置IIS的MIME类型

多用途 Internet 邮件扩展 (MIME) 类型用于标识可从 Web 服务器向浏览器或邮件客户端提供的内容类型。当浏览器从 Web 服务器中请求内容时,它也会请求该内容的 MIME 类型。在返回内容之前,IIS 会将该 MIME 类型作为 HTTP 头中的 Content_Type 字段返回给浏览器,以便浏览器知道如何处理或显示该内容。

IIS 使用默认的全局 MIME 类型列表确定要提供的内容类型。如果 Web 服务器上未定义客户端请求的 MIME 类型,IIS 将返回 404.3 错误。

由于 IIS6 默认没有添加上一些 MIME ,在下载这些文件时会提示找不到文件,所以要手动添加上去,而且还要在IIS中,进入网站的属性,把主目录里面的执行权限设置成纯脚本。

参考:http://technet.microsoft.com/zh-cn/library/cc753281%28WS.10%29.aspx