【问题标题】:Standard Way Of Verifying Uploaded File Types验证上传文件类型的标准方法
【发布时间】:2011-05-30 22:34:46
【问题描述】:

我公开了一个允许第三方上传文件的 WCF 服务。到目前为止,您可以上传哪些文件,因为这是第一阶段,所以它一直是开放的,但对于第二阶段,我可能必须提高安全性。

在 C# 中是否有一种简单的方法可以验证文件首先不是 exe,并且文件内容与扩展名匹配?

我已经记录了人们上传的文件,以及前几个字节,到目前为止,我已经想出了一些这样的信息,

pdf 25 50 44 46 2D 31 2E
jpg FF D8 FF E0 00 10 4A 46 49 46 00 01
doc D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 

等等。它是确定文件类型的固定字节数吗?周围也有此类数据的列表。

我是否需要使用上面收集的数据并滚动我自己的 C# 代码来检查文件,或者是否有现有的库或代码示例可以满足我的需求?

【问题讨论】:

    标签: .net wcf c#-4.0


    【解决方案1】:

    这里有 .exe 文件格式 here 的快速概览。文件的前两个字节将是 ASCII 字符“MZ”。

    至于其他文件格式 - 您需要根据需要进行研究 - 大多数文件格式确实包含带有所谓“魔术字节”的标题,有助于识别 - 尽管这不能保证文件是合法的。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2012-07-29
      • 2013-12-14
      • 2016-01-18
      • 2010-09-09
      • 1970-01-01
      • 2012-07-31
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多