Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / как лучше и безопаснее организовать страничку с URL-ами на скачку / 14 сообщений из 14, страница 1 из 1
19.08.2014, 15:28
    #38723577
BaurzhanS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как лучше и безопаснее организовать страничку с URL-ами на скачку
Всем привет!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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