如何避免在codeigniter 3中以纯文本格式存储邮件帐户和数据库密码

时间:2016-03-16 09:20:27

标签: php codeigniter

我创建了一个codeigniter 3帮助程序来发送来自不同应用程序模块的邮件。我正在使用我的Gmail帐户发送所有邮件,除了我必须将我的gmail密码存储在帮助程序php文件中之外,它的工作原理非常好。

mtcars$automatic <- mtcars$am == 0
mtcars$manual <- mtcars$am == 1

如何在仍然可以使用我的Gmail帐户时,如何避免将纯文本密码存储在上述代码中。我的数据库密码也是如此,我将明文数据库密码存储在codeigniter的database.php配置文件中。如何避免这种情况?

2 个答案:

答案 0 :(得分:1)

无法隐藏数据库密码或以其他方式转换它。但是,没有人可以使用浏览器访问您的配置文件。

在电子邮件密码中可以完成。您可以将其保存在数据库中以及可以调用的邮件发送位置。

  

仅供参考 - 您的项目文件无法通过浏览器或任何其他文件访问。这就是我们使用框架的原因。 Bcz的安全级别高于正常的oop pograms。

     

因此,您的密码和其他内容将不会公开。

答案 1 :(得分:0)

我认为可能的唯一方法是使用Gmails OAUTH机制而不是smtp方法。这里是api https://developers.google.com/identity/protocols/OAuth2和一些示例https://developers.google.com/gmail/xoauth2_libraries#php_sample的链接。请放心,您必须将普通密码放在应用程序的某个位置(在DB中或文件系统中除apache之外无人可访问的位置)或写入crypt函数(即使此函数需要/输出普通密码)