Можно ли вытащить конфиг из другого модуля?

Главные вкладки

Аватар пользователя Max-Z Max-Z 14 ноября 2018 в 13:35

Всем привет!
Я сделал компонент на React в виде Drupal модуля, который использует несколько ключей и паролей для доступа к 3-rd party сервисам. Ключи эти я на данном этапе захардкодил.
В то же время на этом сайте есть два кастомных модуля, которые позволяют вводить упомянутые ключи/пароли через админку и хранить их в yml файлах (*.config.yml и *.settings.yml).
Как я понял, получить данные из этих конфигов можно с помощью ConfigFactory::get, например:

<?php $config Drupal::configFactory()->get('my_module.config');?>
Но в моем случае мне нужно вытащить данные из конфигов "соседних" модулей, и я подумал - нет ли тут каких-либо препятствий в части безопасности?
Если это возможно, получается, что любой установленный модуль может вытащить все секретные данные из других модулей?

Лучший ответ

Комментарии

Аватар пользователя Orion76 Orion76 14 ноября 2018 в 15:46
1

Что и куда какому нибудь модулю "можно" на Вашем проекте рулите только Вы.
По умолчанию все модули имеют доступ к любым данным проекта.
А какой смысл что-то прятать?
Любой код может прочитать как любой файл проекта так и любую таблицу БД.

Аватар пользователя Max-Z Max-Z 14 ноября 2018 в 16:21

Хмм, ясно. Т.е. я могу просто из своего модуля указать путь к соседнему модулю, и он вытащит конфиги без дополнительного колядования с правами и т.д?
<?php$config = Drupal::configFactory()->get('path to other module/my_other_module.config');?>

Аватар пользователя gun_dose gun_dose 14 ноября 2018 в 20:56
1

Если у вас есть модуль, вы можете прямо из кода сделать полную копию базы данных, отправить её куда угодно, потом скачать например новый дистрибутив вордпресса, установить его, а друпал удалить.
Так что прятать конфиги от других модулей нет вообще никакого смысла. Более того, конфиги для того и задуманы, чтобы их можно было использовать в коде в любом месте.