powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / как лучше и безопаснее организовать страничку с URL-ами на скачку
14 сообщений из 14, страница 1 из 1
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723577
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Ситуация - заходит пользователь на сайт, сервер смотрит, какие файлы пользователь может видеть и выдает ему ссылки на эти файлы. По клику на ссылку файл скачивается.

Понятно, что есть 2 способа - либо просто динамически генерировать список прямых ссылок, либо копировать в OutputStream. Второй способ не нравится, кажется каким-то неуклюжим, первый способ не нравится тем, что спалю структуру файлов.

Вопросы -
1) Какой недостаток кроме необходимости вручную копировать у второго способа? Считается ли такой подход "плохой практикой" или норм?

2) Как можно делать просто ссылки, при этом не палить структуру директорий на сервере? На ум приходит только выдавать ссылку вида домен/хеш, как в гуглодрайве, а потом, соответствие хешированного УРЛ-а нормальным файлам хранить в БД. Это нормальный подход? Ну или просто хешировать каждый УРЛ с какой-нибуль солью, типа пятая буква в урле и тогда-даже записей в БД не надо. Но нормален ли такой подход... Как делают профи?
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723592
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaurzhanSПонятно, что есть 2 способа

Есть 100500 способов со своими достоинствами и недостатками.

BaurzhanS- либо просто динамически генерировать список прямых ссылок, либо копировать в OutputStream.
"Прямая ссылка" это в итогде тоже самое копирование файла в сокет, только не вашим кодом, а средствами контейнера или web сервера.

BaurzhanSВторой способ не нравится, кажется каким-то неуклюжим
1) Какой недостаток кроме необходимости вручную копировать у второго способа? Считается ли такой подход "плохой практикой" или норм?

Куча всяких HTTP фич может быть реализована сервером. Докачки файла с определенной позиции, отправка по частям, управление кэшированием. Не зная что из этого существует и что из этого может понадобится, можно просто лишится этих фич.

BaurzhanSпервый способ не нравится тем, что спалю структуру файлов

Смело. Фильтры и forward, выходит, ещё не проходили?

BaurzhanS2) Как можно делать просто ссылки, при этом не палить структуру директорий на сервере? На ум приходит только выдавать ссылку вида домен/хеш, как в гуглодрайве, а потом, соответствие хешированного УРЛ-а нормальным файлам хранить в БД. Это нормальный подход? Ну или просто хешировать каждый УРЛ с какой-нибуль солью, типа пятая буква в урле и тогда-даже записей в БД не надо. Но нормален ли такой подход.
Можно и без БД генерить UID и хранить в глобальном контексте маппинг UID на путь. При остановке сервера UID-ы персистить через сериализацию HashMap. Переодически подчищать.
Да, можно и шифровать, но если нет уверенности, что оно вообще нужно, то зачем так усложнять? Что там такая секретная структура сервера, что злоумышленники будут сканировать? Достаточно любого простейшего алгоритма, по которому некий UID можно распаковать в полное имя файла. Можно просто для всех файлов UID нагенерить заранее.
Пользователи ссылками могут обмениваться?
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723617
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaurzhanS,
ftp сервер?
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723624
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczКуча всяких HTTP фич может быть реализована сервером. Докачки файла с определенной позиции, отправка по частям, управление кэшированием. Не зная что из этого существует и что из этого может понадобится, можно просто лишится этих фич.

Мне пока такие фичи не нужны, но спс за полезную инфу.

Petro123ftp сервер? - нет.

Насчет обмена ссылками - нет, пока такого не надо. Да я вообще не так сильно боюсь палить структуру директорий, просто думал что так не принято делать, типа кулхацкеры могут имея структуру что-то делать нехорошее. Типа дополнительная подстраховка из-за недостаточных знаний)) Если знание структуры никак не способствует атакам, то можно и не париться, а давать прямые ссылки. Я так понял, прямые ссылки - это FTP?
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723626
BaurzhanS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет FTP. Почитал отличие от НТТР, не понял техническую часть - когда я даю прямую ссылку, это же все равно браузер забирает по НТТР сокету? Как замутить ФТП чтобы само из браузера по этому протоколу работало? Если прямую ссылку давать?
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723691
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BaurzhanSПонятно, что есть 2 способа - либо просто динамически генерировать список прямых ссылок, либо копировать в OutputStream. Второй способ не нравится, кажется каким-то неуклюжим, первый способ не нравится тем, что спалю структуру файлов.
Обычно файловое хранилище лежит на отдельном хосте/домене/сервере и ты просто передаёшь на него ссылки.
Ничего страшного в "палеве" структуры каталогов я не вижу. Формула по которой вычисляется имя ссылки
может быть совершенно произвольной и вовсе не секретной. Порядковый номер например - самый лучший вариант IMHO.

Что даёт потенциальному злоумышленнику "знание структуры" - непонятно.

Игры с "хешами" и "солями" - бесозсновательны по тем-же причинам. Они кст. могут
быть и источником других проблем и трудноуловимых ошибок (дубли файлов, ложные
ссылки, недоступные ссылки).
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723704
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про кулхацкеров.
N лет тому назад на Хабре была статья. Вроде "Грабь награбленное" называлась. Там товарищ обнаружил, что какой-то файлообменник формирует URL с возрастающим числовым ID. Надергал файлов, подставляя ID, и нашел много интересного типа спам-баз и паролей к ящикам.

За давностью могу чего и приврать.
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723740
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander A. Sak,
+1
Как раз от типа таких напастей и спасает FTP
Например, есть галка Просмотр списка файлов (List)
Кому разрешено, тот и увидит список всех.
Зачем это руками писать непонятно.
Кроме того, на ФТП можно поставить лимит на запись файлов на сервер.
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723922
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карф..., тьфу, ftp должен быть разрушен
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723927
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov, а чем он тебе так неугодил.
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723952
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovКарф..., тьфу, ftp должен быть разрушен
ну тогда в эту папку их все покидать)
http://autopoi.ru/images/pencil.gif
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723953
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Геморроем и зоопарком.
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723957
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всяко лучше чем тупая реклама перед скачиванием.
...
Рейтинг: 0 / 0
как лучше и безопаснее организовать страничку с URL-ами на скачку
    #38723961
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Особенно лучше регистрировать пользователей этого ftp. Особенно, с учётом того, что тот, кто хочет показать рекламу ftp - точно не выберет.
Нет, для инфраструктуры, где пользователи уже есть и надо просто раздать права, ftp - вполне нормальное решение. Но как публичный ресурс - три поросёнка.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / как лучше и безопаснее организовать страничку с URL-ами на скачку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]