Скачивание файла конкретным пользователем
Подскажите, как лучше организовать возможность скачать файл пользователем, чтобы файл для скачивания был доступен не по прямой ссылке, а по сгенеренной случайным образом для конкретного пользователя.
Поиском нашел FileAttach и FILEDOWNLOAD R но там я так понял, что нужно через эти же дополнения и закачивать файлы, а мне желательно условный сниппет
а сами файлы, мне удобнее через фтп раскладывать.
Поиском нашел FileAttach и FILEDOWNLOAD R но там я так понял, что нужно через эти же дополнения и закачивать файлы, а мне желательно условный сниппет
[[!FileDownload? &url=`http://site.ru/files/files.pdf`]]который генерил бы виртуальную ссылку, по которой качался реальный файл, не раскрывая прямую ссылку.а сами файлы, мне удобнее через фтп раскладывать.
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В нем любым алгоритмом, который сможете найти по запросу «php обратимое шифрование» зашифровываете имя файла, после чего выводите ссылку /download?file=ЗАШИФРОВАННЫЙ_ПУТЬ
На странице /download другой сниппет читает GET параметр и отдает файл, на эту тему читаем к примеру статью habr.com/ru/post/151795/
пробовал
ничего не выдает, а просто
выдает первые 20 символов, остальное режет.
теперь проблема в другом. создал 2 сниппета
encrypt
decrypt
кодирует без проблем, а вот декодировать — выдает пустую строку почему-то
1. Создаем сниппет, в котором формируем уникальный хеш файла.
2. Записываем в массив
3. Сохраняем массив в кэш на определенное время. Если нужно ограничить конечно срок жизни ссылки. Если не нужно, то сохраняем в кэш без ограничений по времени.
4. На странице загрузки файла проверяем хэш из GET параметра на наличие в массиве из кэша. Есть — отдаем и удаляем из кэша.