component db password. Подтягивать из файла

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

component db password. Подтягивать из файла

Сообщение terrarium volition »

Всем доброго дня!

Подскажите, пожалуйста, можно ли как-то в конфиге проекта получить пароль от БД из файла, а не вводить его напрямую?

Цель - скрыть от глаз пароль. Если это как-то иначе делается, то направьте меня, пожалуйста, куда копать?
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: component db password. Подтягивать из файла

Сообщение unknownby »

Указать его в файле .env?

Однако, если к вашему серверу нет доступа ни у кого кроме вас и вы не хотите палить пароль от БД в том же гитхаб/гитлаб, то можно спокойно в файле с припиской "-local" указать пароль :D
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: component db password. Подтягивать из файла

Сообщение terrarium volition »

unknownby писал(а): 2024.03.24, 20:53 Указать его в файле .env?

Однако, если к вашему серверу нет доступа ни у кого кроме вас и вы не хотите палить пароль от БД в том же гитхаб/гитлаб, то можно спокойно в файле с припиской "-local" указать пароль :D
У других людей к серверу доступ будет, если не размещать сервер на виртуальной машине с пробросом портов к серверу. Из самого кода выношу все настройки в БД. К ней доступ будет запаролен.

Аппетит приходит во время еды, и я, возможно, не совсем верно расставил акценты при создании топика:
Идеально было бы и код закрыть, но я не знаю как это сделать.

Ситуация следующая:
Серверное ПО будет крутиться на рабочей станции, на которой будут работать пользователи(не спрашивайте, пожалуйста, почему так).
На этой станции будет возможность накатить виртуалку с паролем и проброситься портом к серверу.
К этом случае доступ к коду будет затруднён. Но надёжность такого решения мне абсолютно не ясна.

С docker я не работал, не знаю, способна ли контейнериция защитить ПО от любопытных глаз и кривых рук?
Существуют ли средства компиляции приложения yii2(и php в целом), чтобы создать исполняемый файл .run под linux?
- В сети есть материал, но там описываются примитивные примеры с парой php файлов или инфомрация очень старая. YII2-advanced это, немножечко, другое. :)

Как такие вещи решаются, уважаемые товарищи?

П.С. вынести на хостинг наружу не вариант. Вынести на локальный хост внутри сети заказчика - труднореализуемый вариант в виду отсутствия в смете отдельного ПК под эти нужны. А текущие ПК все используются. От щедрот душевных ставить отдельный ПК как сервер я морально не готов.

Буду признателен любой информации по данному вопросу.
unknownby
Сообщения: 749
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: component db password. Подтягивать из файла

Сообщение unknownby »

Слишком запарились с защитой кода и доступов :D

Если вам нужно, чтобы доступа к коду не было и оставить свою разработку у себя и таким образом удержать у себя клиента сомнительная идея :?
В таком случае только свои серверные мощности и чтобы доступ был только у вас. Вариант с собственным ПК уже не кажется плохим :)

Докер контейнеры не сохранят вашу инфу в безопасности :D
Они нужны для быстрого развёртывания инфраструктуры всех необходимых вещей под ваш проект.

А насчёт исполняемого файла не подскажу, у вас же веб-приложений реализовано на Yii2.

Кстати, очень хороший вариант реализовать api, чтобы был бэкенд yii2 в виде апишки и какой-нибудь исполняемый файл с расширением ".exe" реализованный на winform при помощи C#, ну или любой другой фронтэнд где не будет вашего кода :mrgreen:
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: component db password. Подтягивать из файла

Сообщение terrarium volition »

unknownby писал(а): 2024.03.26, 00:16 Слишком запарились с защитой кода и доступов :D
Если вам нужно, чтобы доступа к коду не было и оставить свою разработку у себя и таким образом удержать у себя клиента сомнительная идея :?
Вопроса удержания нет. Моя работа часть общего проекта, заказчик не убежит.
unknownby писал(а): 2024.03.26, 00:16 А насчёт исполняемого файла не подскажу, у вас же веб-приложений реализовано на Yii2.
Да, но в сети есть какие тулзы, позволяющие из php сделать .exe. Я ими не пользовался, тем более для крупных и архитектурно сложных проектов типа Yii2
Кстати, очень хороший вариант реализовать api, чтобы был бэкенд yii2 в виде апишки и какой-нибудь исполняемый файл с расширением ".exe" реализованный на winform при помощи C#, ну или любой другой фронтэнд где не будет вашего кода :mrgreen:
Так а бэкэнд-то где будет жить? Туда ведь доступ будет, т.к. на пределы заказчика я вынести это не могу. Если бы мог, то API вообще не нужен был.
Видимо, вариант с виртуалкой - единственное условно бесплатное решение.
Но, всё-таки, тема с .exe из php не изучена. Неужели, никто не делал .exe?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: component db password. Подтягивать из файла

Сообщение ElisDN »

terrarium volition писал(а): 2024.03.25, 09:30 Как такие вещи решаются, уважаемые товарищи?
На Linux-машине закрытие делается через создание для сайта отдельного прользователя, размещение кода в его папке вроде /home/<user>/site и выставление доступа к файлам и папкам сайта только для него. После этого в случае Nginx+PHP-FPM в /etc/php/fpm/pool.d создаётся новый пул, который работает от этого пользователя вместо www-data, а потом хост этого сайта в Nginx использует уже этот пул.

В итоге у других обычных пользователей без sudo не будет доступа к чужой папке /home/<user>.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: component db password. Подтягивать из файла

Сообщение ElisDN »

terrarium volition писал(а): 2024.03.26, 09:57 Видимо, вариант с виртуалкой - единственное условно бесплатное решение.
Для серверных станций вариант виртуализации как раз оптимальный. Можно на станцию изначально установить гипервизор вроде OpenVZ или KVM и уже серверы и рабочие места делать в нём виртуалками.
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: component db password. Подтягивать из файла

Сообщение terrarium volition »

ElisDN писал(а): 2024.03.26, 17:34
terrarium volition писал(а): 2024.03.25, 09:30 Как такие вещи решаются, уважаемые товарищи?
На Linux-машине закрытие делается через создание для сайта отдельного прользователя, размещение кода в его папке вроде /home/<user>/site и выставление доступа к файлам и папкам сайта только для него. После этого в случае Nginx+PHP-FPM в /etc/php/fpm/pool.d создаётся новый пул, который работает от этого пользователя вместо www-data, а потом хост этого сайта в Nginx использует уже этот пул.

В итоге у других обычных пользователей без sudo не будет доступа к чужой папке /home/<user>.
В целом, понятно, спасибо, Дмитрий!
Про пул
...который работает от этого пользователя вместо www-data
вот не понятно, о чём речь. До этого в Linux не добрался ещё. Буду читать и, если уместно, задавать вопросы тут.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: component db password. Подтягивать из файла

Сообщение ElisDN »

terrarium volition писал(а): 2024.03.26, 09:57 Но, всё-таки, тема с .exe из php не изучена.
Некоторые шифруют свой PHP-код через тот же ionCube. Но это дорого и есть готовые платные раскодировщики.
terrarium volition писал(а): 2024.03.26, 09:57 Неужели, никто не делал .exe?
Может кто-то и делал, но это весьма редкий случай.

Люди либо свой код выкладывают на хостинг, либо у себя всё-таки выделяют комп или виртуалку как сервер.
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: component db password. Подтягивать из файла

Сообщение terrarium volition »

ElisDN писал(а): 2024.03.26, 17:53
terrarium volition писал(а): 2024.03.26, 09:57 Но, всё-таки, тема с .exe из php не изучена.
Некоторые шифруют свой PHP-код через тот же ionCube. Но это дорого и есть готовые платные раскодировщики.
terrarium volition писал(а): 2024.03.26, 09:57 Неужели, никто не делал .exe?
Может кто-то и делал, но это весьма редкий случай.

Люди либо свой код выкладывают на хостинг, либо у себя всё-таки выделяют комп или виртуалку как сервер.
Ясно, спасибо за ликбез, Дмитрий!
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: component db password. Подтягивать из файла

Сообщение ElisDN »

terrarium volition писал(а): 2024.03.26, 17:46 Про пул
...который работает от этого пользователя вместо www-data
вот не понятно, о чём речь. До этого в Linux не добрался ещё.
Надо будет настроить сервер так, чтобы он работал от того пользователя, а не от своего www-data. До этого доберётесь.
Ответить