.net 验证上载文件类型的标准方法

.net 验证上载文件类型的标准方法,.net,wcf,c#-4.0,.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

我公开了一个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#代码来检查文件,或者是否有现有的库或代码示例来执行我所要执行的操作?

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

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

这似乎很好