验证上传文件类型的标准方法

时间:2011-05-30 22:34:46

标签: .net wcf c#-4.0

我正在公开一个允许第三方上传文件的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#代码来检查文件,或者是否存在我所追求的现有库或代码示例?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)