我想通过向我的头像上传端点添加jpg
扩展名来阻止人们上传电影文件或shell脚本。我没有在很长一段时间内写后端来上传脚本,但我记得PHP能够告诉我实际的文件类型,而不仅仅是基于文件扩展名的类型。我也可以在前端JS上检查这个。或者在Java中有http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29
问题在于vanilla节点,使用一堆mime相关模块(包括mmmagic
)只是根据文件扩展名返回mime类型。例如,我删除了gif文件上的gif
扩展名,并将其更改为txt
,Node和mmmagic
都返回text/plain
。