Задать вопрос
@webymax

Как скрыть пароль в php-коде?

Иногда приходится хранить пароль от почты непосредственно в php-коде, чтобы использовать его для smtp-аутентификации при отправке сообщений с сайта.

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

Решение:
Решение было высказано vokskela в комментариях к первому ответу - при возникновении ситуации, когда нужно использовать пароль, отправлять детали этой ситуации на свой сервер, к которому нет доступа у третьих лиц, и на нём уже выполнять обработку, включая отправку нужных сообщений.
  • Вопрос задан
  • 790 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 5
@humoured
Вы всё на свете найдёте в коробке с карандашами
Пароль нужно выносить из кода в отдельный файл конфигурации. Dotenv, например.
Такой файл добавляется в .gitignore, не коммитится в общую кодовую базу и каждый разработчик будет наполнять его своими (или общими) данными. Ваш личный пароль не попадёт в чужие руки.
Ответ написан
@zvlad_vitamin
..но, если разработчики будут иметь доступ на ФТП, то никак не скрыть.
Ответ написан
Комментировать
@psiklop
В аккаунте яндекс, mail.ru нужно создавать отдельные пароли для каждого приложения доступа по smtp.
Так его тоже видно, но все таки гораздо безопасней. Пароль легко сменить вместе с закрытием доступа по FTP.
Хотя было бы гораздо лучше если бы яндекс и прочие давали возможность привязать такой временный пароль к IP адресу.

Еще вариант поставить этому файлу права 600 и владельца www-data. Вообщем, чтобы сайт работал, но этот ftp-user не мог его открыть.
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
разработчику нужно доверять либо не работать с ним.
альтернатива это файл доступный для чтения веб сервером, но не доступный разработчику, в котором все сикреты и хранятся
Ответ написан
Azmandios
@Azmandios
У разработчика априори максимальный уровень прав, ведь именно он и пишет этот код.

Единственный вариант, если обращаетесь к фрилансерам, менять пароли от ваших почт, для удобства вынести все пароли в один файл (.env). Но в таком случае вам нужно менять пароли от "всего" ибо работа внешнего специалиста будет приравнена к "утечке"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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