我知道从安全角度来看,这并不安全。但是为了方便起见,我打算使用javascript代码。因此,这只是第一步。
我的目标是避免任何错误报警,即如果恶意黑客操纵文件以符合我接受的mime类型,则没有问题(因为我将在服务器端进行第二次检查),但我希望防止将合法文件检测为有问题。
更新
工作解决方案的原型http://jsfiddle.net/tankchintan/5EUjE/1/。
更新
工作解决方案的原型http://jsfiddle.net/tankchintan/5EUjE/1/。
只要在服务器端确认类型就可以了。
在客户端使用它只是为最终用户提供方便。您如何确定MIME类型?如果仅基于扩展名,则最好在客户端检查有效的扩展名。
看起来只是将扩展名映射到文件类型,因为将png
重命名为mp3
时,代码会将其视为mpeg/audio
。
因此,请确保通过检查文件内容而不是扩展名来验证服务器上的类型。
png
文件重命名为mp3
并且它通过了。也许它在内部只是将扩展名映射到 MIME 类型。 - alex