【发布时间】:2011-04-07 19:12:41
【问题描述】:
asp.net mvc中如何防止exe文件上传
【问题讨论】:
-
别忘了标记你最喜欢的答案 ;-)
标签: asp.net asp.net-mvc
asp.net mvc中如何防止exe文件上传
【问题讨论】:
标签: asp.net asp.net-mvc
如果您试图阻止用户上传危险内容,仅仅阻止他们上传 exe 文件是不够的。这是一种黑名单方法。更好的是问问自己你支持的有效文件类型是什么,并阻止所有其他文件类型。这是一个白名单。
要允许某些文件类型,您可以检查扩展名,但也许还可以验证文件头(文件的前几个字节)以检测它是否实际上是您期望的类型。您必须弄清楚每种文件类型可能的标题是什么。
祝你好运。
【讨论】:
Request.Files 属性具有HttpPostedFileBase 实例的集合。 HttpPostedFileBase 包含一个您可以使用的 FileName 属性。 System.IO.Path.GetExtension(string) 允许您获取文件的扩展名。