【问题标题】:Is it okay to rely on MIME TYPE when verifying using JavaScript if the file uploaded is of audio, video or image type?如果上传的文件是音频、视频或图像类型,在使用 JavaScript 验证时是否可以依赖 MIME TYPE?
【发布时间】:2011-04-11 00:42:20
【问题描述】:

我知道从安全角度来看这是不安全的。但为了方便起见,我打算使用 javascript 代码。所以就像第一次通过。 我的目标是避免任何误报,即如果恶意黑客操纵文件以获得我接受的 mime 类型,那很好(因为我将在服务器端进行第二次传递)但我想阻止合法文件被检测为有问题。

更新

工作解决方案的原型http://jsfiddle.net/tankchintan/5EUjE/1/

【问题讨论】:

    标签: javascript mime-types file-type


    【解决方案1】:

    只要在服务器端确认类型就可以了。

    在客户端使用它只会为最终用户带来便利。您如何确定 mime 类型?如果它只是在扩展,那么你也可以在客户端检查一个有效的扩展。

    更新

    它似乎只是将扩展名映射到文件类型,因为重命名为 mp3 的 png 在代码中是 mpeg/audio。

    因此,请确保通过检查文件的内容而不是扩展名来验证服务器上的类型。

    【讨论】:

    • 我正在使用 javascript 确定 mimetype 以访问正在上传的文件,然后使用对象的“type”属性。有点像 FieldName.files.0.type。所以我正在验证该值是否包含“视频”或“音频”。
    • @Chantz 很有趣,我以前从未见过这种方法。你能显示一些代码吗?
    • @Chantz 很好,谢谢!文件上传有type 属性?不知道。
    • @Chantz 非常有趣。但是,我将 png 文件重命名为 mp3 并通过了。也许它在内部只是将扩展映射到 mime 类型。
    • @alex,是的,这就是我不确定的。但由于这是第一次通过和方便的 GUI,我认为只要它不给出误报,它就可以做到。
    猜你喜欢
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2018-12-13
    相关资源
    最近更新 更多