Считается ли плохой практикой иметь запрос MySQL с пользователем: передать как открытый текст?
Я делаю это прямо сейчас (в nginx / roundcube для изменения моих паролей dovecot), но это кажется странным, потому что если бы у меня были другие системные пользователи на сервере, они могли бы перейти к конфигурации, прочитать файл имени / пароля и удалить хэши паролей и / или добавить свои.
Будет ли предложенное исправление просто установить для любых конфиденциальных файлов разрешение 700? Я не уверен, насколько гибко это будет с некоторыми файлами на веб-сервере?
Если бы кто-то мог прояснить это для меня, было бы здорово :-)
Риск в некоторой степени зависит от того, как вы запускаете PHP, и от поддерживаемых в этом случае разрешений файловой системы.
Что касается пароля в виде открытого текста, насколько я знаю, пока еще нет способа избежать использования пароля в открытом виде.
Из MySQL 5.6 у вас есть Редактор конфигурации MySQl который позволяет вам зашифровать учетные данные для входа в MySQL, чтобы они больше не хранились в виде открытого текста, но, насколько я знаю, типичные библиотеки PHP MySQL пока не будут использовать это, и это скорее запутывание, чем настоящий необратимый хэш.