powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Безопасность статических фалов
23 сообщений из 23, страница 1 из 1
Безопасность статических фалов
    #38858164
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть веб приложение (tomcat), с набором статических файлов(pdf,png) файлов очень много.

Задача ограничить доступ к файлам, в зависимости пользователя.

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

как можно решить эту задачу?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38858177
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhas,
если нет паранойи, то ссылку на статич.файл пусть видит только нужный пользователь.
Сколько файлов?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38858208
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhasкак можно решить эту задачу?

Да, любое решение нагружает сервер и его можно обойти.
Вопрос- насколько ценная информация в этих файлах и сколько готовы заплатить за более мощный сервер.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38858214
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Томкат отлично отдаёт статику в актуальных версиях.
Безопасность реализуется через Servlet Filter
Ничего никуда самому копировать не нужно.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38859139
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Файлов очень много дотягивает до 1 000 000.

Blazkowicz,
Спасибо, про Фильтры я как-то и позабыл. Думаю это то что нужно.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38859217
Mr WeL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhas,

В случае если tomcat прячется за nginx, можно воспользоваться такой штукой как sendfile.
Тогда в коде остается только проверять доступ к файлу
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38859329
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhasФайлов очень много дотягивает до 1 000 000.
круто. Тогда наверно нужно их выделять в какой-то отдельный проект (медиа-сервер).
Знающие люди подскажут.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38859988
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное в данной задаче "пользователя" нужно как-то трансформировать в другую сущность
которую понимает Сервлет или Фильтр и решать задачу в ней.

На вопрос - что такое "пользователь" можно поднять отдельный дискурс.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38859994
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНаверное в данной задаче "пользователя" нужно как-то трансформировать в другую сущность
которую понимает Сервлет или Фильтр и решать задачу в ней.Зачем изобретать сложности на ровном месте, если фильтр получает, кроме всего прочего, запрос , который будет http-запросом со всеми своими атрибутами, включая http-сессию ?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38860001
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovmaytonНаверное в данной задаче "пользователя" нужно как-то трансформировать в другую сущность
которую понимает Сервлет или Фильтр и решать задачу в ней.Зачем изобретать сложности на ровном месте, если фильтр получает, кроме всего прочего, запрос , который будет http-запросом со всеми своими атрибутами, включая http-сессию ?
Иногда пользовате привязывают к IP. В корпорациях. Сессии может и не быть а IP - вот он.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38860988
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonСессии может и не быть а IP - вот он.Как, мопвашуять, это требует велосипедостроения на треугольных колёсах, если IP-адрес достаётся из запроса, который напрямую доступен фильтру?
Вызов getRemoteAddr() излишне тривиален и требует небольшого декорирования в терминах MVC? Или что?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869210
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В продолжении темы.
Фильтр я сделал все работает как нужно, доступ проверяется.
Теперь вопрос, как поменять папку в которой лежат статические файлы?

т.е. когда я обращаюсь по адресу http://localhost:8080/MyApp/fileName
то достается файл который лежит {tomcat_web_app}/MyApp/fileName
Я хочу по тому же URL доставать файлы которые лежат допустим в D:/MyApp/fileName
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869312
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhasЯ хочу по тому же URL доставать файлы которые лежат допустим в D:/MyApp/fileName
это же не удобно и не безопасно на хосте
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869314
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhas,

Нашел решение.
нужно добавить алиас в contex.xml

Код: xml
1.
2.
3.
<Context aliases="/dataFiles=D:\MyExternalFiles\">
...
</Context>



и можно обращаться http://localhost:8080/MyApp/dataFiles/fileName
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869318
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Это нужно что бы избежать потери файлов при передеплоии приложения.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869873
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olzhasolzhas,

Нашел решение.
нужно добавить алиас в contex.xml

Код: xml
1.
2.
3.
<Context aliases="/dataFiles=D:\MyExternalFiles\">
...
</Context>



и можно обращаться http://localhost:8080/MyApp/dataFiles/fileName

похоже что у меня приложение не видит/не принимает этот алиас .
даже если я заменяю D:\MyExternalFiles на путь внутри webapps всё равно не может ничего найти
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
HTTP Status 404 - /mo/dataFilesl/xx.jpg

type Status report

message /mo/dataFilesl/xx.jpg

description The requested resource is not available.

Apache Tomcat/8.0.15
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869894
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашёл аналогичное решение
http://stackoverflow.com/questions/13010043/how-to-use-tomcat-7-new-aliases-properly
но прчему у меня не работает? как узнать причину?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869910
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ват засада :(
You'll note from the error message and from Tomcat 8 documentation here, that the aliases property no longer exists.
как быть?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38869928
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот её взятие

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8"?>
<Context  path="/mo"  >
   
    <Resources>
        <PostResources className="org.apache.catalina.webresources.DirResourceSet"
                   base="c:\Catalina\mo\full" webAppMount="/dataFiles" />
    </Resources>
  
</Context>


http://mikusa.blogspot.ru/2014/07/tips-on-migrating-to-tomat-8-resources.html
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38870593
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак быть? Документацию принципиально не хотите читать?
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38870636
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Не пишите ничего внутрь своего приложения. Не изобретайте файловых хранилищ. Надите хранилище, которое подходит вашим требованиям и читайте\пишите через отдельный слой. Работайте с ним как с базой данных. Не стоит завязывать работу с таким источником данных на томкат.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38870706
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
+1
Аффтар!
По взрослому, это как Оракл.
У него APEX из 2х варников.
Один заведует всей статикой.
У меня один проект на работе. Если надо, могу подробнее.
...
Рейтинг: 0 / 0
Безопасность статических фалов
    #38870712
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-1
В простейшем случае нет смысла изобретать велосипед: определились с (простейшей) структурой хранилища и отдали статику хоть отдельно стоящему сервлет-контейнеру, хоть фронтальным apache/nginx.
Появится реальная потребность изощряться - начнём думать и, при необходимости, рефакторить.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Безопасность статических фалов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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