所以我有一个Web应用程序,它集成了几个需要身份验证的API和服务.我的问题是,在我的源代码中以纯文本格式存储我的身份验证凭据是否安全? 我该怎么做才能安全地存储这些凭据?
我认为这是一个常见的问题,所以我希望看到一个解决方案来确保答案中的凭据.
回应评论:我经常使用PHP,Java和RoR
我希望看到更多的选票来回答这个问题.
这是我们对密码的处理方式.
$db['hostname'] = 'somehost.com' $db['port'] = 1234; $config = array(); include '/etc/webapp/db/config.php'; $db['username'] = $config['db']['username']; $db['password'] = $config['db']['password'];
除了webserver用户之外,没有人可以访问/etc/webapp/db/config.php,这样就可以保护开发人员的用户名和密码.
不将PW存储在代码中的唯一原因仅仅是由于配置问题(即,需要更改密码,并且不希望重建/编译应用程序)。
但是来源是“安全敏感”内容(例如密码,密钥,算法)的“安全”场所吗?当然是这样。
显然,安全敏感的信息需要适当地保护,但这是基本事实,无论使用什么文件。无论是配置文件,注册表设置还是.java文件或.class文件。
从架构的角度来看,出于上述原因,这是一个坏主意,就像您应该避免在代码中“硬编码”任何“外部”依赖项一样。
但是敏感数据就是敏感数据。将PW嵌入到源代码文件中会使该文件比其他源代码文件更敏感,并且如果您这样做,我认为所有源代码都与密码一样敏感。