Загрузка файлов / создание папки вне webroot с помощью mkdir и fopen через соединение https - PullRequest
3 голосов
/ 22 августа 2011

Я работаю над веб-приложением, которое позволяет зарегистрированным пользователям загружать файлы в папки вне webroot. Основной рабочий процесс выглядит следующим образом:

  • пользователь подписывает сертификат SSL, защищая свою информацию
  • папка создается вне webroot с разрешениями 777, чтобы он / она мог загружать файлы в эту папку
  • пользователь загружает файл
  • файл временно сохраняется в рабочей папке скрипта, преобразуется в текстовый файл, перемещается в папку пользователя вне webroot и затем удаляется временный файл.

Похоже, я даже не могу создать каталог пользователя вне webroot, не говоря уже о загрузке файлов в этот каталог. Я использую mkdir через соединение ssl. Я включил allow_url_fopen и allow_url_include, но все равно не повезло. Я уверен, что openssl включен. Есть ли способ обойти это?

Заранее спасибо, Юлия.

1 Ответ

0 голосов
/ 22 августа 2011

Каталог вне веб-корня, в котором создаются новые пользовательские каталоги, должен быть доступен для записи пользователю веб-сервера, в дополнение к созданию новых пользовательских каталогов как 777.

Предположим следующую структуру:

root
  |->users
  |    |->new user1
  |    |->new user2
  |->www docroot

Установите владельца на root/users, чтобы иметь группу пользователей веб-сервера и сделать ее доступной для записи. Предполагается, что каталог уже принадлежит root, но если он находится в службе хостинга, измените имя пользователя существующего владельца. Также предполагается, что apache является пользователем веб-сервера.

chown root:apache /root/users
chmod 770 /root/users
...