• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Доступ к файлам в веб приложении

  • Автор темы algol1983
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

algol1983

В веб-приложении возникла следующая задача:
1) Прочитать файл по относительному пути (относительно корня приложения)
2) Изменить содержимое
3) Записать файл

С чтением проблем не возникает - использую ResourceLoaderAware (используется Spring). А как сохранить файл, зная только его относительный путь?
 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
во первых надо еще раз подумать: действительно ли необходимо писать в файл и веб приложения. просто обычно это не самая удачная идея.
веб приложения, они обычно многопоточные и доступ на запись в файл придется синхронизировать.

Если надо внести изменения в уже существующий файл, то через ResourceLoaderAware, получаем org.springframework.core.io.Resource. А у него метод getFile. А уж с File можно делать что угодно.

плюс из виртуально пути можно получить реальный с помощью
но есkb приложение задеплоено как war, то такой трюк скорее всего не получится
 
A

algol1983

Спасибо за совет. Проблема решена, тему можно закрывать
 
T

tanatos

например:
<!--shcode--><pre><code class='java'>getResourceLoader.getResource().getFile().getAbsolutePath()[/CODE]
или
<!--shcode--><pre><code class='java'>new OutputStreamWriter(ResourceLoader.getResource().getFile())[/CODE]
 
M

mitron

Kmet, правильно говоришь, web приложения многопоточные. Работу с файлом можно(даже нужно) запихнуть в поток и все действия выполнять на сервере как локальной машине.
Прошу прощения если не правльно понял суть размышления.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!