【发布时间】:2015-03-23 22:26:33
【问题描述】:
我想阻止人们上传电影文件或 shell 脚本,只需将 jpg 扩展名添加到我的头像上传端点。我很久没有写后端来上传脚本了,但我记得 PHP 能够告诉我 actual 文件类型,而不仅仅是基于文件扩展名的类型。我也可以纯粹在前端 JS 上检查这个。或者在Java中有http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#probeContentType%28java.nio.file.Path%29
问题出在 vanilla Node 中,使用一堆 mime 相关模块,包括 mmmagic,只是根据文件扩展名返回 mime 类型。例如,我删除了 gif 文件上的 gif 扩展名并将其更改为 txt,Node 和 mmmagic 都只返回 text/plain。
【问题讨论】:
标签: javascript node.js security mime file-type