- от автора admin
Содержание
В файлах PDF много информации. Бóльшая часть используется для одинаковой визуализации документа на разных платформах. Но также есть множество метаданных: дата и время создания и редактирования, какое приложение было использовано, тема документа, название, автор и многое другое. Это стандартный набор метаданных, а имеются способы вставить в PDF пользовательские метаданные: скрытые комментарии в середине файла. В данной статье мы представим некоторые формы метаданных и покажем, где их искать.
Информационные метаданные
Начиная с PDF 1.0 существует стандартизированный набор значений, которые могут быть дополнительно добавлены в документ. Файловые менеджеры используют эти значения, чтобы улучшить поиск по документам. Они включают в себя:
- Автор
- Дата создания
- Создатель
- Производитель (Producer)
В PDF 1.1 этот набор расширили, включив дополнительные данные, которые помогают найти документы:
- Название
- Тема
- Ключевые слова
- Дата редактирования (ModDate)
Строго говоря, эта информация на самом деле не скрыта, так как многие приложения позволяют её просматривать. Но для широкой публики она не демонстрируется. В любом случае, если вы беспокоитесь о безопасности, следует с осторожностью полагаться на эту информацию, потому что её можно отредактировать позже. Так как метаданные могут обновляться отдельно от отображаемого содержимого, это означает, что файловый менеджер и метаданные покажут изменения, а содержимое может не измениться.
Дополнительные метаданные
Теперь стандарт PDF поддерживает ещё больше метаданных. Вместо небольшого набора значений по умолчанию можно хранить целый поток информации в формате XMP. В результате, туда можно внедрить данные любого типа. Опять же, они не отображаются, но их способен проанализировать менеджер файлов.
Поток XMP можно закодировать, поэтому он не всегда читается людьми, но многие приложения умеют читать и редактировать эту информацию. Вот пример того, как выглядит XMP в формате, удобном для чтения людьми:
<xmp:CreateDate>1851-08-18</xmp:CreateDate> <xmp:CreatorTool>Ink and Paper</xmp:CreatorTool> <dc:creator> <rdf:Seq> <rdf:li>Nick Winder</rdf:li> </rdf:Seq> </dc:creator> <dc:title> <rdf:Alt> <rdf:li xml:lang=»x-default»>My Amazing PDF</rdf:li> </rdf:Alt> </dc:title>
Как несложно понять, эта информация неоценима при попытке определить историю документа или попытке внедрить другую информацию. PSPDFKit для iOS и Android поддерживает чтение и редактирование метаданных.
Метаданные объектов
Потоки метаданных не ограничиваются только документами; метаданные также можно назначить любому объекту в документе. Например, потоку со встроенным изображением. Чтобы усложнить ситуацию, вспомогательные метаданные также могут храниться в самом потоке. Если пойти ещё дальше, мы можем встроить PDF в метаданные потока изображений, тем самым достигнув бесконечной рекурсии! Поэтому в следующий раз, когда будете проверять метаданные на наличие информации, помните, что вам, возможно, придётся пройти несколько уровней, чтобы найти информацию, которую вы ищете.
Дополнительное сохранение/обновление
В стандарте PDF есть концепция дополнительного сохранения, которую многие приложения, включая PSPDFKit, реализуют для ускорения сохранения. Короче говоря, этот метод добавляет дополнительную информацию в конец документа, и старые объекты, на которые больше нет ссылок, останутся висеть там. Это здорово, когда вы изменяете элементы документа на лету и не хотите ждать длительного процесса сохранения, или, например, для функции автоматического сохранения, где процесс выполняется в фоновом потоке, а мы хотим использовать минимум ресурсов.
Как можно понять, это открывает целый ящик Пандоры: история документа показывает конфиденциальную или ошибочную информацию, которую удалили с глаз, но она осталась в документе. В таких ситуациях рекомендуется выполнить полное сохранение документа. Это приведёт к удалению старых объектов или даже «сглаживанию», так что формы нельзя будет отредактировать в будущем.
Комментарии PDF
Во многих языках программирования предусмотрены комментарии, чтобы компилятор или интерпретатор игнорировал строку, такая же опция есть в PDF. Символ % используется в формате разными способами, но один из них — указание на комментарий в коде. Поэтому, если пользователь открывает документ в текстовом редакторе, то может увидеть некоторые секретные сообщения, вставленные вашим PDF-процессором. PDF-рендеры будут игнорировать эти строки комментариев, поэтому файл выглядит правильно и не показывает никаких комментариев после рендеринга.
Один большой словарь!
Последнее, что следует отметить, что формат PDF на самом деле — один большой словарь! Технически кто угодно может внедриться документ и что-то изменить. Не каждое изменение осуществляется так легко, как редактирование одной строки, но его можно сделать. По этой причине всегда следует помнить о том, какая информация может скрываться в PDF. Кроме того, если вы обрабатываете конфиденциальную информацию, следует обязательно использовать цифровые подписи для гарантии, что документ не изменён кем-то, кроме его автора, и что автор является тем, кого вы ожидаете, а не кем-то другим.
Вывод
В этой статье перечислены некоторые способы проникновения метаданных в документ без вашего ведома. Есть и другие факторы, которые необходимо учитывать, такие как поддержка JavaScript в PDF. С JavaScript варианты вообще бесконечны. В документах также могут храниться скрытые объекты, которые обычно анализируются, но не отображаются. Это хороший способ внедрения некоторого типа информации в парсер. PDF — очень обширный стандарт, поэтому всегда стоит знать, каким программным обеспечением для чтения PDF вы пользуетесь, и доверять ему.
55
Когда кто-то удаляет данные из базы без проверки ссылок на эти объекты, то везде где этот объект использовался появляется сообщение вида: Объект не найден (84:bf5600145e3710ab11dda4c605dbe824) . https://helpf.pro/uploads/img/_1-46z7I4U7Ww.png В 2
Переделал обработки из статей Битая ссылка, Объект не найден, Уникальный Идентификатор, GUID и Поиск в базе битых ссылок — объект не найден под Управляемые формы. Скачать Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений — получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить — опять ошибка блокировки 🙁 Путем тестов было вяснено, что проблема В учетной политике не указан вид тарифа страховых взносов. Как указать? 0
Создайте новую запись учетной политики с начала года — Например 01.01.2013 В учетной смотрите дату начала учетной политики. Поставьте дату начала года (например 01.01.13) закладка появиться должна. Проверьте Тариф страховых взносов: Меню Зарпла Выгрузка результата запроса в текстовый файл с разделителями 0
Запрос = Новый Запрос(); Запрос.УстановитьПараметр(» ДатаНач» ,НачалоДня(ДатаНач)); Запрос.УстановитьПараметр(» ДатаКон» ,КонецДня(ДатаКон)); Запрос.УстановитьПараметр(» Организация» ,Организация); Запрос.Текст = » ВЫБРАТЬ | ПоступлениеТоваровУ Посмотреть все результаты поиска похожих
Интересные материалы:
- Как в 1С зуп отстранить от работы
Как в программе "1С:Зарплата и управление персоналом 8" редакции 3 зарегистрировать отстранение сотрудника от работы…
- 1С ИТС логин и пароль
ИТС – это комплексная поддержка, которую компания "Лаэрта" совместно с фирмой "1С" оказывает пользователям программ…
- Поиск в 1С по нескольким словам
До сих пор немногие знают, что, начиная с версии 8.1, у платформы "1С:Предприятие" появился замечательный…
- 1С скопировать табличный документ в другой
Метод табличного документа ВставитьОбласть() предназначен для копирования некоторой области ячеек табличного документа в другой или…
- 1С не отображаются все функции
Как включить картинки в 1С:Бухгалтерии 8.3 оглавление Как переключаться между толстым и тонким клиентами Как…