Пятый фактор
Отправить заявку
Безопасность и эксплуатация

Защита скачивания документов на сайте

Защита скачивания документов на сайте свяжет выдачу файла с аккаунтом, заказом, договором или обращением. Пользователь нажимает привычную кнопку, сервер проверяет его право и затем отдаёт документ. Для крупных файлов можно использовать приватное хранилище и короткую подписанную ссылку. Проверим доступ вторым аккаунтом, анонимно, после выхода и после окончания срока ссылки.

Срок: 6 рабочих дней

Когда стоит обратиться

Обычно к нам обращаются в таких ситуациях:

  • PDF-счёт или договор открывается по прямому адресу из истории браузера после выхода из кабинета либо пересылается другому человеку как постоянная ссылка.
  • Имя файла содержит последовательный номер заказа, клиента или документа, поэтому соседний адрес легко получить заменой нескольких цифр.
  • Документы перенесли в CDN или Object Storage, а текущие правила делают весь каталог публичным либо сохраняют персональный ответ в общем кеше.

Что именно мы сделаем

01

Собираем все типы закрытых документов, кнопки, URL, генераторы, каталоги, CDN и хранилища.

02

Описываем правила владельца, роли, организации, статуса документа и допустимого срока доступа.

03

Проверяем прямой путь, смену ID, передачу ссылки, выход из аккаунта и кеширование ответа.

04

Переносим файлы в приватное размещение и добавляем серверную проверку или подписанную выдачу.

05

Настраиваем заголовки и журнал, затем повторяем сценарии двумя аккаунтами и внешним запросом.

Что входит в стоимость

24 900 ₽ за всю работу

Инвентаризируем типы документов, URL, генераторы, файловые каталоги, CDN и Object Storage. Строим матрицу роль—документ—условие, проверяем прямые ссылки, смену ID, доступ после выхода, передачу URL другому аккаунту и кеширование персонального ответа. Переносим закрытые материалы за web-root или в приватный bucket, создаём обработчик выдачи либо подписанные URL, настраиваем заголовки и журнал, затем повторяем тесты анонимно и двумя пользователями.

Что будет готово

Материалы

Передадим вам

  • Матрица ролей, типов документов и условий выдачи с привязкой к страницам, endpoint и местам хранения.
  • Рабочий обработчик скачивания или настройка приватного bucket и подписанных URL, а также безопасные заголовки кеша и содержимого.
  • Журнал скачиваний и протокол тестов владельца, второго аккаунта, анонимного посетителя, завершённой сессии и истёкшей ссылки.
Проверка

Перед сдачей проверим

  • Владелец документа скачивает корректный файл с понятным именем, а второй пользователь и анонимный запрос получают выбранный безопасный ответ.
  • Прямой путь к приватному каталогу или bucket закрыт, подписанная ссылка теряет силу после установленного срока, а CDN сохраняет персональный ответ по приватным правилам.
  • Событие журнала содержит пользователя, документ, время и результат, а контрольные страницы кабинета работают одинаково на широком и мобильном экране.

Как это выглядит на практике

Схема результата услуги «Защита скачивания документов на сайте»

Счёт из личного кабинета выдаётся по владельцу заказа

  1. 01

    Счета лежат в публичной папке /upload/invoices и называются по последовательному номеру заказа, который виден в интерфейсе.

  2. 02

    Файлы переносятся в приватный каталог, а кнопка кабинета обращается к обработчику с внутренним ID документа.

  3. 03

    Обработчик получает пользователя из сессии, связывает документ с заказом и организацией, затем отдаёт PDF с правильным именем и журналирует событие.

  4. 04

    Собственный счёт открывается, запрос соседнего ID вторым аккаунтом получает безопасный ответ, а ссылка из завершённой сессии теряет доступ.

Что понадобится для работы

От вас

  • Перечень типов документов, страниц и ролей, правила владельца, организации, статуса и желаемого срока доступа.
  • Два тестовых кабинета и контрольные документы, доступ к коду, файловой системе, CDN или Object Storage.
  • Сведения о размерах и объёме скачиваний, мобильном приложении и текущем журналировании пользовательских действий.

Если у вас немного другая ситуация

Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.

Стоимость работ 24 900 ₽ полная стоимость известна заранее
  1. 3 000 ₽после подписания договора через Диадок
  2. 21 900 ₽после выполнения, демонстрации и приёмки результата

Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.

Часто спрашивают

Об этой услуге

Можно сохранить текущую кнопку скачивания?

Да. Пользовательский интерфейс обычно сохраняется, а маршрут за кнопкой получает серверную проверку и приватное хранение. При необходимости уточняем имя файла и сообщение об истёкшем доступе.

Как работать со ссылкой из письма?

Создаём ограниченную по сроку и объекту ссылку либо ведём пользователя через авторизацию. Выбор зависит от чувствительности документа и привычного пути клиента.

Подходит ли решение для S3?

Да. Bucket остаётся приватным, приложение проверяет право и выдаёт короткий presigned URL либо передаёт файл через собственный обработчик.

Большие документы будут скачиваться быстро?

Для крупных файлов используем прямую подписанную выдачу из Object Storage или CDN после проверки права. Это сохраняет производительность приложения и контролируемый срок ссылки.

Входит ли выдача документов в мобильном приложении?

Да, если оно использует выбранный API. Проверяем токен, владельца, срок ссылки, повторный запрос и поведение после выхода из мобильного аккаунта.

Можно защитить уже опубликованные прямые ссылки на документы?

Да. Переносим файлы из публичного каталога или перекрываем прямую выдачу, а привычные кнопки направляем через проверяющий обработчик либо короткую подписанную ссылку.

Как выбирается срок действия ссылки на скачивание?

Срок связываем со сценарием: несколько минут для чувствительного документа, более длинное окно для письма клиенту или повторной загрузки большого файла. После истечения сервер отклоняет запрос и может выдать новую ссылку авторизованному пользователю.

Проверяется ли кеш браузера, CDN и прокси?

Да. Настраиваем заголовки и правила кеширования по типу документа и способу выдачи. Затем проверяем повторные запросы через браузер, CDN и прямой адрес: персональный файл остаётся доступен только своему получателю.

Цена и изменения по ходу работы

Цена на странице окончательная?

Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.

Что означает резерв незапланированных работ?

Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.

Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.

Можно уточнять детали уже во время работы?

Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.

Начало работы и оплата

Как оформляются договор и оплата?

Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.

Когда начинается срок выполнения?

Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.

Как учитываются платные лицензии и внешние сервисы?

До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.

Проверка результата и гарантия

Как принимается готовая работа?

Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.

Какая гарантия действует после сдачи?

На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.

Следующие шаги по защите

Связанные работы выстроены в практическом порядке. Можно начать с текущей задачи или перейти к соседнему этапу.

  1. 01Аудит безопасности S3 хранилища и Object Storage

    Проверить bucket и политики

  2. 02Проверка ролей и разграничения прав

    Проверить роли получателей

  3. 03Защита скачивания документов на сайте

    Закрыть прямое скачивание

Все технические услуги по персональным данным

Следующий шаг

Опишите задачу

Опишите задачу и желаемый результат. Можно указать сайт, CMS, 1С, CRM, ERP или другую систему — разберёмся в ситуации и предложим подходящий следующий шаг.