我正在使用谷歌的smtp服务器从多个网站发送电子邮件。 gmail帐户的密码未加密和/或存储在数据库中,但在处理电子邮件表单的文件中进行了硬编码。这种方法有安全隐患吗?我应该为每个站点创建新的Gmail帐户,还是仅将密码存储在数据库中就足够了?
答案 0 :(得分:4)
以明文形式存储敏感数据绝不是一种很好的做法,但是,大多数PHP网站都会将其电子邮件服务器数据以明文形式硬编码。但是,我永远不会做的是在PHP文件中将密码硬编码为完整的Google身份(可能包含已连接的AdWords付款信息等)。谷歌有这方面的功能,更多内容如下。
理论上,您可以将密码存储在数据库中,并按照here所讨论的那样加密它们以获得另一层安全性,但这样做并非易事。
您至少应该在Web根目录之外存储有问题的PHP文件。这样,即使PHP解释器失败(或.php文件与配置中的解释器解除关联),该文件也无法向世界公开。
还有Google的Application specific password功能。这将限制恶意获取密码的人造成的损害。如果出现入侵或滥用,您还可以停用特定于应用程序的密码,而无需核对整个帐户。
这两项措施可能已经为您的情况提供了合理的安全保障。