Какой путь прописать для upload_tmp_dir?

В целях безопасности, многие источники рекомендуют прописывать в php.ini
open_basedir какую-то конкретную директорию на сервере, например:
open_basedir = /var/www/
а временные файлы размещать вне этой директории, чтобы нельзя было перехватить клиентские сессии, к примеру:
upload_tmp_dir = /var/php_session

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

Пример строки лога, имя домена заменено на фейковое.
2019/01/16 10:43:18 [error] 1822#0: *3233 FastCGI sent in stderr: "PHP message: PHP Warning: file_exists(): open_basedir restriction in effect. File(/var/php_session/php3HjuuI) is not within the allowed path(s): (/var/www/) in /var/www/mysite.com/www/wp-includes/functions.php on line 2297" while reading response header from upstream, client: 192.168.5.1, server: mysite.com, request: "POST /wp-admin/async-upload.php HTTP/2.0", upstream: "fastcgi://unix:/var/run/php7-fpm.sock:", host: "mysite.com", referrer: "https://mysite.com/wp-admin/upload.php"
  • Вопрос задан
  • 4627 просмотров
Решения вопроса 2
shambler81
@shambler81 Куратор тега Linux
можешь не париться
Во первых open_basedir снижает скорость сайта притом значительно
во вторых он устаревший и по факту не влияет ни на что
что каксается сессий то вообще забей вероятность перехвата сессии вообще крайне мала тем более если у тебя на сервере только твои проекты.
Если ты паришся этим вопросом то ответь кто обновляет и как часто обновляетс linux.
Как часто ты обновляешь ядро сайта ?
Как часто ты обновляешь версии пхп?
Ответ никто и никак.
Следовательно если говорить о дырах, то эта куда как больше
Ответ написан
Vamp
@Vamp
upload_tmp_dir нужно указывать в пределах open_basedir, иначе скрипты сайта не смогут получить доступ к загружаемым файлам. Аналогично нужно настроить ещё session.save_path и sys_temp_dir, иначе не будут работать сессии и функции для работы с временными файлами.

Смысл появляется когда у вас больше одного сайта на сервере. В этом случае open_basedir используется для изоляции сайтов друг от друга - чтобы взлом одного сайта не привёл ко взлому всех остальных сайтов на сервере.

Пару лет назад я описывал рабочую схему для усиления безопасности в другом вопросе на тостере. Взгляните.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы