$finfo = finfo_open( FILEINFO_MIME );
$mimetype = finfo_file( $finfo , $this->fileInfo['tmp_name'] );
if ( $mimetype == "audio/mpeg; charset=binary" )
{
return TRUE;
}
else
{
$this->error = "请上传合法文件";
return FALSE;
}
为什么有些mp3文件的$mimetype是application/octet-stream; charset=binary,有些是audio/mpeg; charset=binary
application/octet-stream; charset=binary是否安全,或者怎样进一步验证上传的文件是安全的音频文件?
以前,我用 python 写了一个上传文件的白名单,利用白名单内设置的16进制的头,进行比对。希望能给你一个参考。