EMZETT.
Увійти

Типи файлів

Коротко: Категорії файлів, що визначають, як структуровано їхній вміст і які програми можуть їх відкривати, — наприклад, текст, зображення, відео чи архів.

Докладніше: Тип файлу зазвичай позначається розширенням (.txt, .jpg, .zip), але достовірно визначається лише за фактичним байтовим вмістом (магічні числа/сигнатура на початку файлу) — перейменований файл зберігає свій справжній тип, навіть якщо розширення підказує інше.

Подробиці

Простий приклад різниці між розширенням файлу та справжнім типом: зображення PNG усередині завжди починається з тих самих восьми байтів (89 50 4E 47 0D 0A 1A 0A) — як би не називався файл. Якщо перейменувати image.png на image.txt, вміст лишиться допустимим PNG; лише програми, що сліпо покладаються на розширення, помилково вважатимуть його текстовим файлом.

Грубі категорії типів файлів:

  • Текстові: читні людиною як простий текст, наприклад .txt, .md, .csv, JSON, XML.
  • Двійкові (binary): осмислено інтерпретуються лише відповідною програмою, наприклад зображення (.png, .jpg), відео, скомпільовані програми.
  • Архіви/контейнери: об’єднують або стискають кілька файлів в один, наприклад ZIP, .tar.
  • Структуровані формати Office: всередині часто самі є ZIP-архівом із файлів XML, наприклад .docx, .xlsx.

Багато проблем безпеки виникає саме тут: завантажений файл із розширенням .jpg, фактичний вміст якого — виконуваний код, може бути помилково визнаний нешкідливим сервером, що перевіряє лише розширення, — тому надійні системи завантаження додатково перевіряють справжню сигнатуру на початку файлу.

Див. також: Файли