如何将密码安全地存储到Web应用程序中的邮件服务器

时间:2016-09-13 09:25:25

标签: mysql security php-7

并且不,我不是要将我的用户密码加密存储,我使用password_hash()。 问题是我想用PHPMailer向用户发送电子邮件,电子邮件凭证应该可以通过Web应用程序进行配置,因此存储在服务器上(基本上应用程序有自己的电子邮件帐户)。

如果有最佳做法将此信息存储在数据库中,那么我也不应该对数据库中的用户电子邮件地址进行加密,这样一旦它被破坏,入侵者至少就不会这样做了。有一个邮件地址的纯文本列表?

我的另一个想法是将凭证写入文件,但这被认为更安全吗?

我使用的是MariaDB,Apache2和PHP7。

编辑:为什么stackoverflow会删除我的" Hello"在一开始?

1 个答案:

答案 0 :(得分:1)

通常这种密码存储在一个文件中。这是自以为是的,所以从中得出自己的结论,但是你应该有一个文件,对你的web应用程序的读取权限是非可访问的(很明显,但更喜欢说明)dir。通常,此文件应在服务器外加密(如果由于某种原因需要提交pwd文件)。这项政策被认为是非常安全的。

在某些时候,你有一个纯文本的给定pwd(例如:你的数据库密码,如果可能在配置文件中),老实说,获得访问你的数据库比访问你的邮件出站服务器差得多< / p>

关于第二部分,良好做法要求您应加密任何敏感信息。但是,您应该知道您无法在sql中查询加密数据,因此如果您确实要求此敏感数据“可查找”,则需要采取相应步骤,这可能会不必要地增加应用程序的复杂性。

但如上所述,这是自以为是的