Сохранение пароля SMTP для последующего использования, без хэша - PullRequest
0 голосов
/ 21 июня 2019

Я создал приложение PHP, где у меня есть панель настроек, где пользователь должен предоставить некоторые данные, необходимые для работы приложения. Пользователь может предоставить поля, относящиеся к настройкам SMTP, чтобы приложение могло отправлять клиентам письма с подтверждением при t.

Для этого я сохраняю информацию, представленную в базе данных, одним из обязательных полей является SMTP-пароль, который мне нужно сохранить в сыром виде, без хеширования. Мне это нужно, потому что PHPMailer нужен пароль, а не хеш.

Я беспокоюсь о том, насколько безопасен этот метод, потому что я не хочу сохранять его в виде обычного текста, но он мне также нужен для отправки электронных писем.

Мне нужен совет по этому вопросу.

PS: я забыл упомянуть, что я использую XAMPP для разработки приложения.

Заранее спасибо!

1 Ответ

0 голосов
/ 21 июня 2019

Вы никогда не должны хранить пароли в виде простого текста в базе данных.Как отметили другие комментаторы, файлы конфигурации .env над корневым веб-каталогом являются стандартным подходом.Однако выбранный вами подход зависит от того, как размещено ваше приложение.Например, если вы размещаете приложение в AWS, рекомендуется сохранить учетные данные в виде переменных среды, к которым можно получить доступ следующим образом:

$mail = new PHPMailer(true);

try {
    $mail->isSMTP();
    $mail->SMTPAuth = true;
    $mail->Host = $_SERVER['SES_HOST'];
    $mail->Username = $_SERVER['SES_USERNAME'];
    $mail->Password = $_SERVER['SES_PASSWORD'];
    $mail->SMTPSecure = 'ssl';

Тот же подход можно использовать с помощью файла .env.,Или, если вы используете Apache, вы можете добавить переменные в файл httpd.conf, как показано ниже, а затем получить к ним доступ, ссылаясь на глобальную переменную $ _SERVER:

SetEnv SES_PASSWORD strongpassword123

Поскольку вы упомянули, что используете XAMPP (Apache), откройте конфигурацию Apache, измените файл httpd.conf и добавьте строку SetEnv, указанную выше, внизу этого файла.После перезапуска службы Apache вы сможете ссылаться на свое значение, используя $ _SERVER ['var_name'].

...