Максимальная длина файла - PullRequest
2 голосов
/ 06 января 2009

Существует ли максимальная длина для расширения файла? Самый длинный, который я видел, это .compiled (8 символов)

Бесполезный фон

Я создаю IHttpHandler для возврата значков изображений для определенного имени файла. Я просто вызываю FileImage.axd? Ext = pptx. Я генерирую файлы на лету, используя SHGetFileInfo, похожий на мой пост для WPF, а затем кеширую их локально в папке с именем файла «pptx.png». Я хотел бы проверить длину и обрезать ее, чтобы предотвратить атаку типа DoS, когда кто-то попытается сгенерировать изображения для бесконечного числа ненужных символов (например, FileImage.axd? Ext = asdfasdfweqrsadfasdfwqe ...).

Ответы [ 2 ]

7 голосов
/ 06 января 2009

Насколько я знаю, ограничений нет, кроме максимальной длины имени файла. Расширение не рассматривается специально, за исключением FAT16.

0 голосов
/ 06 января 2009

Я согласен с Аркадием - формального ограничения сейчас нет, поскольку система DOS 8.3 ушла в прошлое (или другие подобные, ограниченные системы). Я бы сказал, что большинство расширений, которые я видел, находятся в диапазоне 1-3; Java использует 4 для .java и 5 для .class. Ваш пример с 8 длиннее, чем я помню. Если бы я смотрел в область видимости, я бы стремился к «неограниченному»; если это невозможно, разрешите по крайней мере 16 символов - с уверенным ожиданием, что на самом деле 16 будет вполне достаточно для современных систем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...