|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
drovosek : 32 Новичок
|
Янв 12, 2012 22:42 |
|
|
Здравствуйте. Возник вопрос безопасности. На сайте имеется рапозитарий со множеством файлов. Для того, чтобы никто не смог догодаться, по какому пути находятся файлы нужно прямой путь к файлу как то заменить. Например:
Есть ссылка <a href="mysite.com/repository/file1.txt">Скачать файл</>
Так вот путь "/repository/file1.txt" нужно заменить.
Кто знает, подскажите. Может по нажатию на кнопку файл можно скачать. Как это реализовать? |
|
|
|
 |
demon_zx : 1568 Завсегдатай Откуда: Moscow
|
Янв 13, 2012 10:02 |
|
|
| выгружать файлы через сервлет |
|
|
|
 |
b4535855 : 11 Новичок
|
Янв 22, 2012 13:44 |
|
|
|
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Янв 23, 2012 9:39 |
|
|
| Цитата: |
| Для того, чтобы никто не смог догодаться, по какому пути находятся файлы нужно прямой путь к файлу как то заменить. |
Так делать в корне неправильно, что значит догадался!? Пользователь или должно быть разрешено скачивать файл(возможно в данный момент времени), или запрещено.
Сделать это можно по разному, в зависимости для чего задумывалась.
Вот пример как это можно сделать:
Перед тем как скачать файл, пользователь должен что то сделать, например ввести слово с картинки. Если слово введено верно, система генерирует случайное число(или последовательность символов) и сохраняет его в базу данных. После этого выдает пользователю ссылку на файл и дописывает к нему параметр pass, значение которого ранее сгенерированное число(ну или что там). Когда пользователь идет по этой ссылке, там стоит фильтр, который считывает этот параметр, и проверяет есть ли такой в базе. Если есть то дает скачать, если нет то перебрасывает на страничку где просят ввести слово с картинки.
Касательно сервлета который будет выгружать файлы, тут как по мне зависит от хостинга(серьезности проекта). Если проект никак не претендует на статус файлообменника всех времен и народов, то файлы можно хранить и в папке веб приложения, соответственно сервлет такой не нужен. На дешевых(начальных) хостингах кроме как к этой папке доступа может и не быть.
Но если проект более менее планируется развивать, а темболее если он коммерческий, я бы файлы хранил в другом месте и выгружал их через сервлет.
Пример такого сервлета должен быть тут на сайте, в разделе инкубатор. |
|
|
|
 |
Skipy : 4801 Я тут живу! Откуда: Москва, Россия
|
Янв 23, 2012 12:23 |
|
|
Проще это сделать на базе обычного apache - url rewrite. _________________ С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других! |
|
|
|
 |
drovosek : 32 Новичок
|
Май 08, 2012 8:19 |
|
|
| Спасибо за помощь! Все получилось. |
|
|
|
 |
|
|
|