Защита CSV и Excel-выгрузок от опасных формул
Защита CSV от внедрения формул нужна, потому что Excel и LibreOffice способны интерпретировать внешние значения как вычисления. Имя клиента, комментарий или адрес, начинающийся с =, +, -, @, табуляции либо управляющего переноса, может запустить внешнее обращение.
Способ защиты зависит от формата, разделителя, кавычек, кодировки и следующего импорта. Для ручной работы используем XLSX с явным текстовым типом пользовательских ячеек; для CSV подбираем совместимое преобразование. Дополнительно контролируем права, состав столбцов, MIME, журналирование и срок ссылки.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Выгрузка содержит имена, телефоны, адреса, комментарии, отзывы, ответы формы или другие значения от посетителей и партнёров.
- Сотрудники регулярно открывают CSV из CRM, интернет-магазина, helpdesk, личного кабинета или аналитической системы в Excel.
- Файл передаётся между организациями, загружается в бухгалтерию или используется как источник следующего импорта.
Что именно мы сделаем
Уточняем, какие поля попадают в экспорт, кто способен влиять на их содержимое, кто скачивает файл и в каких программах либо системах его открывает.
Собираем тестовый набор значений с формульными префиксами, пробелами, кавычками, разделителями, переносами, Unicode-символами и очень длинными строками.
Выбираем безопасную стратегию отдельно для XLSX, пользовательского CSV и машинного обмена, реализуем преобразование в единой функции экспорта.
Проверяем права и состав данных, корректные Content-Type и Content-Disposition, кодировку, имя файла, ссылку скачивания и след события в журнале.
Открываем результат в целевых программах, выполняем обратный импорт при необходимости и подтверждаем, что значения остаются текстом, а структура и данные сохранены.
Что входит в стоимость
19 900 ₽ за всю работу
Разбираем выбранные экспорты и источники данных, определяем формат для людей и систем, добавляем безопасное преобразование ячеек, усиливаем выдачу файла и проверяем результат в выбранных программах и импортах.
Что будет готово
Передадим вам
- Исправленный генератор CSV или XLSX с единым правилом обработки внешних значений и комментариями для будущих разработчиков.
- Набор тестовых строк и автоматические проверки основных префиксов, разделителей, кавычек, переносов, кодировок и Unicode.
- Протокол открытия и обратного импорта с рекомендациями по правам, составу данных, сроку ссылки, журналированию и разделению форматов.
Перед сдачей проверим
- Контрольные значения с опасными префиксами отображаются как обычный текст без вычисления при открытии в выбранных программах.
- Кавычки, разделители, переносы, кириллица, Unicode, длинные значения и пустые ячейки сохраняют правильные строки и столбцы.
- Скачать выгрузку может выбранная роль, файл содержит утверждённые столбцы, а событие фиксируется в журнале.
Как это выглядит на практике
Безопасная выгрузка заказов с комментариями покупателей
- 01
Покупатель вводит в комментарий строку, начинающуюся с формулы и внешней ссылки, после чего оператор скачивает общий CSV заказов.
- 02
Определяем, что бухгалтерия открывает файл в Excel, а интеграция склада читает тот же CSV автоматически и ожидает исходный комментарий.
- 03
Создаём отдельный XLSX для сотрудника с текстовыми ячейками и защищённый машинный экспорт по контракту для склада; ограничиваем состав полей.
- 04
Проверяем опасные строки, русские адреса, кавычки и переносы, затем добавляем тесты генератора и журнал скачивания.
Что понадобится для работы
От вас
- Примеры файлов, код или настройка экспорта, перечень полей и описание источника каждого пользовательского значения.
- Список программ и версий для ручного открытия, требования принимающих систем к разделителю, кодировке и исходным данным.
- Роли сотрудников, правила хранения персональных данных, допустимый состав столбцов и способ выдачи ссылки на файл.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 16 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Почему обычных кавычек CSV недостаточно?
Кавычки сохраняют границы поля, однако табличная программа после разбора всё равно способна распознать содержимое как формулу.
Можно просто удалить символ равно?
Опасных префиксов несколько, а удаление меняет исходные данные. Подбираем преобразование под реальную программу и дальнейший способ использования файла.
XLSX безопаснее CSV?
Для ручной работы XLSX позволяет явно записать пользовательское значение как текст. Безопасность также зависит от макросов, внешних ссылок, прав и состава данных.
Сохранится импорт файла в другую систему?
Проверяем обратный импорт. При строгом машинном контракте разделяем человеческую таблицу и машинный канал, чтобы сохранить точность исходных значений.
Вы проверяете доступ к самой выгрузке?
Да. Смотрим авторизацию, минимальный набор столбцов, срок и повторное использование ссылки, MIME, имя файла и журнал скачивания.
Что такое CSV injection и когда она возникает?
Табличная программа может принять значение из выгрузки за формулу, если оно начинается с управляющего символа. Тогда открытие файла запускает вычисление или внешнее обращение в контексте пользователя.
Как сохранить разрешённые формулы в отчёте?
Разделяем системные формулы, которые создаёт доверенный код, и внешние текстовые значения. Защитное правило применяется к пользовательским данным, а согласованные формулы XLSX остаются рабочими.
Проверяется ли файл в русской и английской версии Excel?
Проверяем согласованные форматы с фактическими разделителями, кодировкой и программами клиента. Дополнительно тестируем открытие и обратный импорт, подтверждая сохранность обмена данными.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Следующие шаги по защите
Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.
- 01Проверка PDF, Word и Excel на скрытые данные
Проверить метаданные и скрытые данные
- 02Защита CSV и Excel-выгрузок от опасных формул
Исправить генератор CSV и XLSX
- 03Защита скачивания документов на сайте
Ограничить скачивание файлов