Перейти к содержимому
pdftools.kz
Защита

Как защитить PDF на сайте: что работает

Начнём с неприятного: файл, доступный по ссылке без входа, скачивается целиком — просмотр в браузере и есть скачивание, просто копия оседает в кэше. Пароль на такой файл бессмыслен, потому что его пришлось бы опубликовать рядом со ссылкой. Настоящая граница проходит не внутри PDF, а перед ним: за авторизацией, в объёме опубликованного и в том, насколько адресной вы сделали каждую копию.

Сервер · удаление сразудо 50 МБбез регистрации

Коротко о цифрах

Шифрование
qpdf --encrypt, AES-256 (--bits=256)
Пароль
латиница, цифры и знаки, от 4 до 1024 символов; кириллица отклоняется
Владельческий пароль
если не задан — случайный, 24 байта в кодировке base64url
Флаги прав
--print, --extract, --modify — исполняет просмотрщик, а не файл
Пределы
50 МБ на файл, 20 запросов за 10 минут
Чего не даёт
не мешает снимку экрана, распознаванию и пересохранению копии

Что даёт наш protect

Даёт две разные вещи. Первая — шифрование содержимого: qpdf собирает файл с AES-256, и без пароля открытия читаемого текста в нём нет. Это настоящая криптография, а не флаг: неизвестный пароль не подбирается, у нас нет перебора и не будет. Пароль принимается только из латинских букв, цифр и знаков, длиной от 4 до 1024 символов; кириллический отклоняется формой.

Вторая — флаги прав: печать, извлечение текста, изменение. Они пишутся в документ как --print, --extract и --modify, но исполняет их программа просмотра, а не файл. Чтобы флаги нельзя было снять изнутри, за ними стоит владельческий пароль: если вы его не задали, генерируется случайный из 24 байтов, и не знает его никто, включая нас.

Чего не даёт никакая защита PDF

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

Что действительно работает на сайте

  1. Решите, что вообще должно быть публичным: выложенный документ рано или поздно будет скопирован целиком.
  2. Закрытое — за авторизацию: право открыть страницу проверяет ваш сервер, а не сам файл.
  3. Публикуйте сокращённую версию: извлеките из документа те страницы, которые можно показывать всем.
  4. На персональные копии ставьте водяной знак с именем получателя — он не запрещает пересылку, но делает утечку адресной.
  5. Шифруйте паролем только то, что передаёте адресно, и передавайте пароль другим каналом, не той же страницей.
  6. Если файл не должен попасть в поиск, пометка задаётся заголовком со стороны сервера: внутри PDF места для неё нет.

Частые вопросы

Можно ли запретить скачивание PDF с сайта?

Нет. Чтобы показать документ, браузер должен его получить, поэтому просмотр и скачивание — одно и то же действие. Скрытая кнопка меняет только удобство, а не доступ.

Есть ли смысл ставить пароль на публичный файл?

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

Защитит ли водяной знак от копирования?

Не защитит, и обещать обратное нечестно. Он делает копию адресной: по знаку видно, чей экземпляр ушёл дальше, и это меняет поведение получателя сильнее запрета.

Как убрать документ из поисковой выдачи?

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

Рядом

Частые задачи с этим инструментом