Как я могу предоставить папку для записи и загрузки временных файлов из веб-приложения? - PullRequest
0 голосов
/ 16 декабря 2018

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

У меня естьвеб-приложение, которое при нажатии кнопки «Скачать» должно запускать php, который, в свою очередь, запишет файл в каталог и позволит пользователю, щелкнувшему, загрузить этот файл.

В этом каталоге будут храниться временные файлы, и его следует очистить.периодически.

Поэтому я сомневаюсь:

  1. Где хорошее место для хранения этих временных файлов (в /var/www/<my_app>/tmp?)
  2. Должен ли я предоставить apache2пользователь (www-data) для чтения и записи разрешений для этой папки?
  3. Я что-то пропустил?

РЕДАКТИРОВАТЬ1

Только что увиделphp passthruw команда.Будет ли этого достаточно для заархивированных файлов, и позвольте мне не думать о папке и разрешении tmp?

1 Ответ

0 голосов
/ 16 декабря 2018

1) эта временная папка может быть создана где угодно.

2) когда у вас есть скрипт php, и пользователь нажимает какую-то кнопку во внешнем приложении и запускает этот скрипт php, который запускается, этот скрипт phpисполняется от имени пользователя apache2, что, в свою очередь, является «разрешением другого мира».(Есть пользователи, группы и другие).Таким образом, вы должны предоставить разрешение на запись другим пользователям, чтобы пользователь apache2 (www-data) мог писать в этот каталог.

Таким образом, вы не можете загрузить файл через ftp или sftp или что-то еще, потому что с ftp вашпользователь не будет www-data.и помни, что ты сделал.Вы дали разрешение на запись только для www-данных.

Чтобы лучше понять эту концепцию, я бы посоветовал вам прочитать следующую ссылку и ответ тоже. Права доступа к файлам для Laravel 5 (и других)

...