Что такое формат файла CFM?
Файлы .cfm хранят шаблоны веб-страниц CFML или отдельные элементы более крупного веб-приложения. Страница .cfm генерируется сервером динамически по запросу браузера пользователя - движок ColdFusion обрабатывает файл на стороне сервера и возвращает клиенту обычный HTML. Веб-сайты и динамические приложения, созданные с помощью ColdFusion, могут напрямую обращаться к ресурсам баз данных и генерировать динамический контент, обрабатывая формы, состояния сессий и интеграции с API.
Синтаксис CFML представлен в двух формах: CFScript, язык сценариев, похожий на JavaScript, или разметка на основе тегов, похожая на HTML, с использованием пользовательских тегов с префиксом <cf...>, таких как <cfquery>, <cfoutput> и <cfloop>. ColdFusion разрабатывается компанией Adobe (с 2005 года; первоначально создана Allaire Corporation в 1995 году). Сервер компилирует шаблоны .cfm в байт-код при первом запросе и кэширует результат; сам файл .cfm остается текстовым и никогда не отправляется в браузер клиента.
Текущим релизом является Adobe ColdFusion 2023. Движок с открытым исходным кодом Lucee также обрабатывает файлы .cfm и широко используется как бесплатная альтернатива. Файлы .cfm могут быть выполнены только через специальный движок CFML - открытие такого файла в браузере без работающего сервера не даст полезного результата. Сопутствующие файлы .cfc (ColdFusion Component) содержат многократно используемые компоненты, подобные классам, в то время как файлы .cfm являются шаблонами страниц, которые формируют вывод.
Безопасность и защита
РИСК: MEDIUMИсходный файл .cfm, который вы просматриваете в текстовом редакторе, безопасен - это обычный текст, который не может запуститься на вашем рабочем столе. Риск носит контекстуальный характер: если файл .cfm развернут на сервере, он ВЫПОЛНЯЕТ серверный код, который может взаимодействовать с базами данных, файловыми системами и внешними сервисами. Вредоносный код .cfm (веб-шеллы, бэкдоры) представляет реальную угрозу безопасности сервера в средах ColdFusion - администраторы серверов должны следить за тем, чтобы неавторизованные файлы .cfm не могли быть загружены (распространенный вектор атаки). Для конечных пользователей, у которых файл .cfm просто лежит на локальном компьютере: он ничего не может сделать без работающего сервера CFML.
Детали формата
в двух словах- Файл компонента ColdFusion (путаница с .cfc) - .cfc - это родственное, но отдельное расширение для компонентов ColdFusion (многократно используемый код, подобный классам); пользователи иногда путают cfm и cfc.
Программы, открывающие файлы CFM
Технические подробности
глубокая спецификация| Кодировка файла | Простой текст - UTF-8 (ColdFusion 2016+); старые файлы могут быть в Windows-1252 или ISO-8859-1 |
| Модель выполнения | Только на стороне сервера - обрабатывается движком ColdFusion/Lucee CFML; файл .cfm никогда не отправляется в браузер клиента |
| Синтаксис тегов | Теги CFML используют префикс <cf...> - например, <cfquery>, <cfoutput>, <cfif>, <cfloop>, <cfinclude> |
| Синтаксис скриптов | Блоки CFScript (<cfscript>...</cfscript>) предоставляют альтернативу CFML на основе тегов, похожую на JavaScript |
| Доступ к базе данных | Собственный тег <cfquery> выполняет параметризованные SQL-запросы к настроенным источникам данных; возвращает объект запроса |
| Компиляция во время выполнения | Движок CFML компилирует .cfm в байт-код при первом запросе и кэширует результат; исходный файл остается текстовым |
| Бинарная сигнатура | Отсутствует - простой текст, без «магических байтов» |
| MIME-тип | application/x-coldfusion (на стороне сервера); клиент получает text/html |
| Поддерживаемые движки | Adobe ColdFusion 2023 (текущий), Lucee (открытый исходный код, активно поддерживается), OpenBD (менее активен) |
| Первоначальный разработчик | Allaire Corporation (1995); приобретена Macromedia, затем Adobe в 2005 году |
| Сопутствующее расширение | Файлы .cfc (ColdFusion Component) содержат многократно используемые компоненты; файлы .cfm - это шаблоны страниц для вывода данных |
| Типичный размер файла | 1 КБ - 500 КБ (большинство шаблонов 2-50 КБ) |
| Поддержка MVC-фреймворков | CFWheels, FW/1 (Framework One) и Coldbox - распространенные MVC-фреймворки CFML, которые направляют запросы к файлам .cfm |
| Выпущен | 1995 (ColdFusion 1.0 by Allaire Corporation) |
| Последняя версия | Adobe ColdFusion 2023 (version 2023.0; codename Project Fortuna) |
| Спецификация | helpx.adobe.com |
Конвертации CFM
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах CFM.