【问题标题】:How to check restricted file in Javascript or Apex如何在 Javascript 或 Apex 中检查受限文件
【发布时间】:2018-10-30 15:20:19
【问题描述】:

在上传文件时,我们需要验证文件是有效文件还是被 OWASP 限制的文件。

允许的文件类型:txt,ppt,pptx,doc,docx,xls,xlsx,csv,jpeg,jpg,bmp,gif,png 受限文件类型:exe,​​jar,zip,ini,log [可执行文件]

我们在 javascript 中遵循了以下验证。

  1. 我们正在按文件扩展名验证文件 [工作正常]
  2. 我们正在通过幻数[十六进制代码]评估文件内容,无论文件扩展名是否已更改。它适用于大多数文件类型。

但这里的问题是 jar、odt、docx、pptx、ppt、xlsx 文件具有相同的幻数。

我们不允许用户上传可执行文件和 zip、jar、odt 文件。

如何用docx、pptx、xlsx区分jar、odt和zip?

参考链接:

https://en.wikipedia.org/wiki/List_of_file_signatures

https://medium.com/the-everyday-developer/detect-file-mime-type-using-magic-numbers-and-javascript-16bc513d4e1e

请让我知道在 Javascript 或 apex 中实现此目的的任何解决方案或建议。

【问题讨论】:

    标签: javascript salesforce apex


    【解决方案1】:

    通过使用 FileReader API 读取文件内容并检查文件是否包含 [Content_Type.xml] 已解决问题。如果文件是 docx、xlsx 或 pptx,它会在从 filereader 读取文件内容时返回 [content_type].xml。如果是 jar/odt/odc/apk 或任何其他文件,则返回不同的字符串。

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 1970-01-01
      • 2018-01-24
      • 2013-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 2020-03-08
      相关资源
      最近更新 更多