172 похожих чатов

Всем привет. вопрос по nginx + php-fpm, они в разных контейнерах,

связаны unix-сокетом, но это неважно. Для того, чтобы сказать php-fpm какой скрипт выполнить, в nginx есть такая строка:

fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;

Т.е, если кто-то имеет доступ к сокету или порту пхп, то может выполнить любой произвольный скрипт и лазить по системе под правами php-fpm. Мне хочется сделать так, чтобы запросы, которые приходят в php-fpm, могли обращаться только к файлам из определенной директории, например /app. Т.е. сделать /app или /app/public_html корнем, но без chroot. Он сдесь не подходит, т.к. скрипты в своей работе используют файлы на уровень выше /app и запереть их там не получится.

"chdir" тоже не помогает, и легко обходится при указании пути в абсолютном виде

Какие могут быть варианты?

14 ответов

17 просмотров

Можно узнать, нафиг это может быть нужно?

Daniel- Автор вопроса
Alexander 🐕 Chistyakov
Можно узнать, нафиг это может быть нужно?

я хочу вынести указание полного пути до скриптов из конфига nginx только в конфиг php-fpm

Daniel- Автор вопроса
Alexander 🐕 Chistyakov
Можно узнать, нафиг это может быть нужно?

т.е. я не хочу указывать: fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name; я хочу указывать так: fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

Daniel- Автор вопроса
Alexander 🐕 Chistyakov
Зачем?

чтобы настройки одного компонента не хранились в настройках другого. в духе: есть сокет - ты туда шли, а дальше мы сами

Daniel
т.е. я не хочу указывать: fastcgi_param SCRIPT_FI...

Prefix попробуй указать, может это оно

Daniel- Автор вопроса
Andrey Kartashov
Prefix попробуй указать, может это оно

не, тоже не помогло. обходится указанием абсолютного пути

Daniel
не, тоже не помогло. обходится указанием абсолютно...

На уровне nginx не давай указывать абсолютный путь

Daniel- Автор вопроса
Andrey Kartashov
На уровне nginx не давай указывать абсолютный путь

я хочу чтобы путь до сокета или ip:port были единственными параметрами которые нужно указать. поэтому от подобных манипуляций и хочу избавиться

Ты хочешь странного. Связка nginx + php-fpm не вчера появилась, не надо свои костыли придумывать

Daniel
я хочу чтобы путь до сокета или ip:port были единс...

Не выставляй php наружу. В чем проблема? Соедини их в общий докер нетворк с nginx и ходи по порту. Сокет там вообще не нужен

Daniel- Автор вопроса
Daniel
странно это давать такие ответы

Я не могу тебе дать другой ответ потому что не очень понимаю конечно цель

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта