wordpress后台指定上传文件格式
- 发表于
- WordPress
WordPress为了出于安全考虑我们必须限制后台的上传文件类型,防患于未然。官方提供了很好的过滤器API
http://codex.wordpress.org/Plugin_API/Filter_Reference/upload_mimes
示范例子
add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {
unset ($existing_mimes);//注销数组变量
$existing_mimes['jpg']='image/jpeg';
$existing_mimes['png']='image/png';
$existing_mimes['bmp']='image/bmp';
$existing_mimes['gif']='image/gif';
return $existing_mimes;
}
上边是注销上传类型,下边增加可上传类型:
//增加可上传类型
add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {
$existing_mimes['rar'] = 'application/octet-stream';
$existing_mimes['zip'] = 'application/zip';
$existing_mimes['7z'] = 'application/octet-stream';
return $existing_mimes;
}
如上代码所示,只允许用户上传jpg,gif,png,bmp的格式文件,其他格式是禁止的也起到一个安全作用。当然要想真正进一步加强后台的安全系数还需要把在线主题安装、插件安装、主题编辑等这些能直接操作文件的地方删掉。下面列出一些文件的类型,如果自己需要添加其他上传文件类型可以参照下表,比如要允许php文件上传,只需在上面增加一个数组变量就可以了:$existing_mimes['php']=’application/octet-stream’;
当然不推荐允许上传php文件。
该对应表包含:
- php上传图片文件(gif,jpg,bmp,png,psd,ico)
- php上传压缩文件(rar,7z,zip)
- php上传可执行文件(exe)
- php上传视频文件,音乐文件,歌词文件(avi,rmvb,3gp,flv,mp3,wav,krc,lrc)
- php上传文本文件和文档文件(word->doc,excel->xls,幻灯片->ppt,pdf,chm)
- php上传数据库文件(access文件,sql文件,con文件,日志文件log, dat文件)
- php上传网页文件,脚本文件,字体文件(ini,php,html,htm,字体文件:ttf,fon, js ,xml)
- php上传其他文件(class类文件,dll动态加载库文件)
PHP文件上传类型
ie | 火狐 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
原文连接:wordpress后台指定上传文件格式
所有媒体,可在保留署名、
原文连接
的情况下转载,若非则不得使用我方内容。