2009-01-06 170 views
2

文件扩展名是否有最大长度?我见过的最长的一个.compiled(8个字符)最大文件扩展名长度

无用的背景

我创建一个IHttpHandler的返回图像图标特定文件名。我只是简单地调用一个FileImage.axd?ext = pptx。我使用SHGetFileInfo为WPF生成了类似于my post的文件,然后将它们本地缓存在文件名为'pptx.png'的文件夹中。我想验证长度并修剪它以防止DoS类型的攻击,其中有人会尝试为无限数量的垃圾字符生成图像(例如,FileImage.axd?ext = asdfasdfweqrsadfasdfwqe ...)。

回答

7

据我所知,没有限制,除了文件名的最大长度。扩展没有专门处理,除了FAT16。

+0

感谢这不幸并没有给我一个解决方案。我想我只会将其限制为10.图像将从网络服务器加载,因此我想知道IIS webserver的标准版本上最长的扩展是什么。 – bendewey 2009-01-06 19:17:32

+0

解决方案是 - 编写代码,以便它可以处理任何扩展大小,避免C程序员病。 – Arkadiy 2009-01-09 17:27:40

0

我同意Arkadiy--现在没有正式限制DOS 8.3系统是过去的事情(或其他类似的有限系统)。我会说我看到的大部分扩展都在1-3范围内; Java对于.java使用4,对于.class使用5。你用8的例子比我记得的要长。如果我正在研究范围,我的目标是“无限”。如果这样做不可行,至少应允许16个字符 - 并且有充分的预期,实际上16对于当前系统来说足够了。