За последние 24 часа нас посетили 17814 программистов и 1594 робота. Сейчас ищут 953 программиста ...

Внедрение метаданных в PDF/PNG на лету

Тема в разделе "PHP для новичков", создана пользователем SuperBoss, 9 дек 2019.

  1. SuperBoss

    SuperBoss Новичок

    С нами с:
    9 дек 2019
    Сообщения:
    4
    Симпатии:
    0
    Друзья, подскажите, как попроще реализовать маркирование документов, которые пользователи скачивают с парольной директории?

    Используется веб-сервер Apache2, установлен PHP7. Есть структура каталогов и файлов на диске. Файлы PDF (но могу конвертнуть в PNG), там чертежи. Есть желание дать доступ к этим чертежам для пользователей запароленной (средствами Apache2) директории, но хочется как-то внедрить контроль распространения файлов. Т.е. хочется, чтоб при скачивании файла в него добавлялся каким-то образом логин пользователя который это дело скачивает.

    Отсюда есть несколько вопросов, буду рад, если подскажите в какую сторону копать:

    1. Как в PHP получить логин, под которым пользователь прошел аутентификацию в Apache?
    2. Чем онлайн внедрять метаданные в файлы при скачивании?
     
  2. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    AuthType Basic ?
    Придется предоставить условный логин пользователю, - это его ip и например браузер.


    Для более гибких действий, может стоит написать что-то мощнее аутентификации апача?
    В несколько слов..
    Создай личный кабинет, сохрани данные пользователей, генерируй файлы по запросу, изменяй их и отдавай.
     
  3. SuperBoss

    SuperBoss Новичок

    С нами с:
    9 дек 2019
    Сообщения:
    4
    Симпатии:
    0
    Basic.

    Хочется не городить огород, а попробовать обойтись малой кровью :)
     
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.576
    Симпатии:
    1.759
    Можно сделать Basic-аутентификацию через php, а не апач. В доках написано, как
     
    SuperBoss нравится это.
  5. SuperBoss

    SuperBoss Новичок

    С нами с:
    9 дек 2019
    Сообщения:
    4
    Симпатии:
    0
    А что делать с внедрением метаданных?
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.103
    Симпатии:
    1.243
    Адрес:
    там-сям
    В изображениях есть мета-данные EXIF и XMP, туда можно дописать свою информацию не испортив значимые данные. Про PDF просто не знаю. Update: определённо есть.

    ПМСМ, решить задачу можно. Только потом будет осадочек, что время потрачено зря. Если ваши файлы захотят скопировать в обход лицензионного соглашения, это будет сделано независимо от ваших меток, даже независимо от того, знают ли про них злоумышленники.
    --- Добавлено ---
    На пробные версии файлов можно фигачить "водяные знаки". Оказывается с PDF такая тема тоже есть.
    Что же до коммерческих версий, то там просто авторская мета-информация должна присутствовать. И конечно злопыхатели её сумеют удалить, как и любые секретные отметки.
    В наше цифровое время защищаются тем, что создают потребность в своих услугах.
     
    SuperBoss нравится это.
  7. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    Послушайте доброго совета (здесь все под ним подпишутся):

    - Это как раз тот случай, когда применима поговорка: подальше положишь - поближе возьмешь ))

    Сделайте нормальную авторизацию на Laravel - это сэкономит вам тучу времени в дальнейшем.
     
  8. SuperBoss

    SuperBoss Новичок

    С нами с:
    9 дек 2019
    Сообщения:
    4
    Симпатии:
    0
    Оно там есть 100%. И в JPG и в PDF есть метаданные. В PNG с ними сложнее, но они так же присутствуют. Задача не запретить сливать информацию с сайта, а понять кто это сделал. Собственно задумка:
    1. Пользователь аутентифицировался.
    2. Скачивает файл (в который на лету внедряется метка равная имени пользователя).

    Но не хочется с нуля все писать, хочется по-максимум использовать готовые библиотеки. Задача простая для ограниченного круга пользователей.
     
  9. Roman __construct

    Roman __construct Активный пользователь

    С нами с:
    27 апр 2019
    Сообщения:
    1.270
    Симпатии:
    112
    тем более, зачем велосипеды придумывать

    ваш путь: Composer + порыться на гитхабе, наверняка что-то отыщется годное