|
|
13.05.2019, 11:31
|
|
Дмитрий
Дмитрий
Зарегистрирован: 2015-07-31
Сообщений: 53
|
Всем привет!
Собственно, вопрос в названии. Человек, знакомый со структурой Netcat, легко может получить доступ к пользовательским файлам. Может, в самой CMS есть какая-то фишка, помогающая защитить файлы от просмотра, скачивания сторонним пользователям, и оставить эту возможность залогиненым?
P. S. Я читал варианты с htacces, промежуточными запросами на скрипт, но хочется нормальное, компактное решение, желательно средствами самой CMS... Про "защищенный режим" тоже знаю, но в поле "Мультизагрузка" он отсутствует
|
|
|
15.05.2019, 08:14
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
Боюсь, что без php не обойтись в любом случае, т.к. проверить, авторизован ли пользователь, можно только внутри системы,
а дальнейшая реализация уже зависит от степени секретности.
1) просто вывод разных ссылок по условию типа if ($AUTH_USER_ID) , при этом сам файл есть, и если кто-то знает прямую ссылку на него, то скачает.
2) ссылка на скрипт, который (по номеру объекта и названию поля в компоненте, например) проверит авторизацию, обратится к файлу, хранящемуся в этом поле, и выдаст в браузер его содержимое со всеми соответствующими заголовками. Для параноиков можно еще имена файлов при сохранении в компонент шифровать, чтобы избежать подбора имени, либо запретить прямое чтение через http из конкретной папки.
|
|
|
19.06.2019, 12:44
|
|
Макуров Константин
Студия "Первыйвеб"
Зарегистрирован: 2011-08-04
Сообщений: 41
|
Приветствую!
Тут можно поступить иначе, при заказе файла копировать его в отдельную папку и давать ссылку уже на нее, потом через какое-то время (например 24 часа) по крон удалять этот файл и все.
Более подробно:
В заказе сделать 2 дополнительных поля (само собой скрытых) url на файл для скачивания (url тут можно формировать, как душе угодно) и дата и время и по крон (запускать например каждый час или 30 минут) проверять когда вышло время, то просто удалять файл и затирать значение url в базе.
|