Техническое задание: Защищенный PDF-просмотрщик

Цель проекта

Создать безопасный веб-интерфейс для просмотра PDF-документов, который предотвращает несанкционированное скачивание и печать исходных файлов, сохраняя при этом базовый функционал для комфортного чтения.

Ключевые требования

Безопасность и доступ

  • PDF-файлы должны храниться в директории, закрытой для прямого доступа из интернета (например, выше корневой папки веб-сервера или с настройками запрета в .htaccess / nginx конфигурации).
  • Доступ к файлам для просмотра осуществляется только через скрипт-просмотрщик (например, viewer.php?f=имя_файла).
  • Реализовать механизм проксирования или передачи файла частями (чанками) для предотвращения прямой загрузки целого файла.
  • Ссылки на ресурсы (чанки) должны иметь короткое время жизни (TTL).

Функционал просмотрщика

  • В основе должна использоваться библиотека pdf.js.
  • Обязательный базовый функционал:
    • Навигация по страницам.
    • Поиск по тексту.
    • Выделение текста для копирования (в рамках интерфейса).
    • Панель превью страниц (миниатюры).
    • Масштабирование.
  • Функции скачивания и печати (в том числе через контекстное меню браузера и горячие клавиши) должны быть заблокированы или удалены из интерфейса.

Техническая реализация

  • Серверная часть (PHP, Node.js или другой язык) для безопасной загрузки файла из защищенной папки и его передачи в просмотрщик.
  • Адаптация или кастомизация стандартного вьювера pdf.js для отключения нежелательных возможностей.
  • Решение о точном механизме передачи файла (прокси, чанки) остается на усмотрение исполнителя, но должно быть обосновано с точки зрения безопасности.

Ожидаемый результат

Пользователь получает доступ к документу только через веб-интерфейс для чтения. Все попытки сохранить оригинальный PDF-файл или отправить его на печать должны блокироваться. Архитектура должна минимизировать риски прямого доступа к исходному файлу.

Создание бота для кофейни на Python

Требуется разработать функционального чат-бота для кофейни на чистом Python. Бот должен включать в себя админ-панель для управления. Детали проекта будут обсуждаться с исполнителем.

Ретушь фотографии устройства

Требуется профессиональная обработка фотографии электронного устройства. Необходимо выровнять фон, убрать все дефекты поверхности и скорректировать цветовые оттенки.