|
|
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Есть веб приложение (tomcat), с набором статических файлов(pdf,png) файлов очень много. Задача ограничить доступ к файлам, в зависимости пользователя. если использовать сервлет и проверять доступ, то файл придется пропускать через сервлет(копировать потоки), что плохо скажется на памяти. Хотелось бы просто дать пользователю ссылку на статический файл, но тогда безопасность тут не работает. как можно решить эту задачу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2015, 10:29 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhas, если нет паранойи, то ссылку на статич.файл пусть видит только нужный пользователь. Сколько файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2015, 10:36 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhasкак можно решить эту задачу? Да, любое решение нагружает сервер и его можно обойти. Вопрос- насколько ценная информация в этих файлах и сколько готовы заплатить за более мощный сервер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2015, 10:54 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Томкат отлично отдаёт статику в актуальных версиях. Безопасность реализуется через Servlet Filter Ничего никуда самому копировать не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2015, 10:57 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Petro123, Файлов очень много дотягивает до 1 000 000. Blazkowicz, Спасибо, про Фильтры я как-то и позабыл. Думаю это то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 07:00 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhas, В случае если tomcat прячется за nginx, можно воспользоваться такой штукой как sendfile. Тогда в коде остается только проверять доступ к файлу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 09:04 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhasФайлов очень много дотягивает до 1 000 000. круто. Тогда наверно нужно их выделять в какой-то отдельный проект (медиа-сервер). Знающие люди подскажут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 10:39 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Наверное в данной задаче "пользователя" нужно как-то трансформировать в другую сущность которую понимает Сервлет или Фильтр и решать задачу в ней. На вопрос - что такое "пользователь" можно поднять отдельный дискурс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 17:50 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
maytonНаверное в данной задаче "пользователя" нужно как-то трансформировать в другую сущность которую понимает Сервлет или Фильтр и решать задачу в ней.Зачем изобретать сложности на ровном месте, если фильтр получает, кроме всего прочего, запрос , который будет http-запросом со всеми своими атрибутами, включая http-сессию ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 18:01 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmaytonНаверное в данной задаче "пользователя" нужно как-то трансформировать в другую сущность которую понимает Сервлет или Фильтр и решать задачу в ней.Зачем изобретать сложности на ровном месте, если фильтр получает, кроме всего прочего, запрос , который будет http-запросом со всеми своими атрибутами, включая http-сессию ? Иногда пользовате привязывают к IP. В корпорациях. Сессии может и не быть а IP - вот он. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 18:08 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
maytonСессии может и не быть а IP - вот он.Как, мопвашуять, это требует велосипедостроения на треугольных колёсах, если IP-адрес достаётся из запроса, который напрямую доступен фильтру? Вызов getRemoteAddr() излишне тривиален и требует небольшого декорирования в терминах MVC? Или что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 18:03 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
В продолжении темы. Фильтр я сделал все работает как нужно, доступ проверяется. Теперь вопрос, как поменять папку в которой лежат статические файлы? т.е. когда я обращаюсь по адресу http://localhost:8080/MyApp/fileName то достается файл который лежит {tomcat_web_app}/MyApp/fileName Я хочу по тому же URL доставать файлы которые лежат допустим в D:/MyApp/fileName ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 11:34 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhasЯ хочу по тому же URL доставать файлы которые лежат допустим в D:/MyApp/fileName это же не удобно и не безопасно на хосте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 12:24 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhas, Нашел решение. нужно добавить алиас в contex.xml Код: xml 1. 2. 3. и можно обращаться http://localhost:8080/MyApp/dataFiles/fileName ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 12:25 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Petro123, Это нужно что бы избежать потери файлов при передеплоии приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 12:26 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
olzhasolzhas, Нашел решение. нужно добавить алиас в contex.xml Код: xml 1. 2. 3. и можно обращаться http://localhost:8080/MyApp/dataFiles/fileName похоже что у меня приложение не видит/не принимает этот алиас . даже если я заменяю D:\MyExternalFiles на путь внутри webapps всё равно не может ничего найти Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 21:42 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
нашёл аналогичное решение http://stackoverflow.com/questions/13010043/how-to-use-tomcat-7-new-aliases-properly но прчему у меня не работает? как узнать причину? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 22:30 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
ват засада :( You'll note from the error message and from Tomcat 8 documentation here, that the aliases property no longer exists. как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 23:07 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
а вот её взятие Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. http://mikusa.blogspot.ru/2014/07/tips-on-migrating-to-tomat-8-resources.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 23:52 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
вадякак быть? Документацию принципиально не хотите читать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:33 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
вадя, Не пишите ничего внутрь своего приложения. Не изобретайте файловых хранилищ. Надите хранилище, которое подходит вашим требованиям и читайте\пишите через отдельный слой. Работайте с ним как с базой данных. Не стоит завязывать работу с таким источником данных на томкат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 17:19 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, +1 Аффтар! По взрослому, это как Оракл. У него APEX из 2х варников. Один заведует всей статикой. У меня один проект на работе. Если надо, могу подробнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 18:26 |
|
||
|
Безопасность статических фалов
|
|||
|---|---|---|---|
|
#18+
-1 В простейшем случае нет смысла изобретать велосипед: определились с (простейшей) структурой хранилища и отдали статику хоть отдельно стоящему сервлет-контейнеру, хоть фронтальным apache/nginx. Появится реальная потребность изощряться - начнём думать и, при необходимости, рефакторить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 18:33 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38860988&tid=2125852]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
195ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 508ms |

| 0 / 0 |
