Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Защита файла от просмотра и / или скачивания по прямой ссылке

13.05.2019, 11:31
Дмитрий
Дмитрий
Дмитрий

Зарегистрирован:
2015-07-31
Сообщений: 53

Всем привет!

Собственно, вопрос в названии. Человек, знакомый со структурой Netcat, легко может получить доступ к пользовательским файлам. Может, в самой CMS есть какая-то фишка, помогающая защитить файлы от просмотра, скачивания сторонним пользователям, и оставить эту возможность залогиненым?

P. S. Я читал варианты с htacces, промежуточными запросами на скрипт, но хочется нормальное, компактное решение, желательно средствами самой CMS... Про "защищенный режим" тоже знаю, но в поле "Мультизагрузка" он отсутствует
15.05.2019, 08:14
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 576

Боюсь, что без php не обойтись в любом случае, т.к. проверить, авторизован ли пользователь, можно только внутри системы,
а дальнейшая реализация уже зависит от степени секретности.

1) просто вывод разных ссылок по условию типа if ($AUTH_USER_ID) , при этом сам файл есть, и если кто-то знает прямую ссылку на него, то скачает.

2) ссылка на скрипт, который (по номеру объекта и названию поля в компоненте, например) проверит авторизацию, обратится к файлу, хранящемуся в этом поле, и выдаст в браузер его содержимое со всеми соответствующими заголовками. Для параноиков улыбка можно еще имена файлов при сохранении в компонент шифровать, чтобы избежать подбора имени, либо запретить прямое чтение через http из конкретной папки.

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
19.06.2019, 12:44
Макуров Константин
Студия "Первыйвеб"

Зарегистрирован:
2011-08-04
Сообщений: 39

Приветствую!

Тут можно поступить иначе, при заказе файла копировать его в отдельную папку и давать ссылку уже на нее, потом через какое-то время (например 24 часа) по крон удалять этот файл и все.

Более подробно:

В заказе сделать 2 дополнительных поля (само собой скрытых) url на файл для скачивания (url тут можно формировать, как душе угодно) и дата и время и по крон (запускать например каждый час или 30 минут) проверять когда вышло время, то просто удалять файл и затирать значение url в базе.
198 196 2019-06-19 12:44:27 15094
Описание проекта