【发布时间】:2011-06-21 00:20:38
【问题描述】:
有哪些方法可以从您的代码中获取数据库和其他服务密码?我已经阅读了有关使用每个服务器属性文件的信息,但是当您拥有大量服务器时,它变得难以维护。我还看到了使用 CI 的构建过程来“注入”密码的解决方案,但这使得即时更新密码变得困难。
一些有助于缩小答案范围的要求...
- 密码应易于更改和传播,以防出现安全漏洞。
- 密码不能出现在代码中(由于第 1 点)
- 人类获得密码的纯文本版本应该是“不平凡的”
- 应该在 Web 应用程序和独立应用程序中运行良好
- 从应用程序开发人员的角度易于采用
一些优点包括不引入单点故障、快速的开发时间和易于理解。
这在精神上与this question 相似,但强调可维护性并更多地关注服务器端案例。
【问题讨论】:
-
把它存入数据库怎么样? :)
-
@Joe:这实际上是一个有目的的解决方案,但密码来统治他们的想法结束了这场谈话。
-
至少你只需要记住一个密码。您可以将其刻录在 CD 上并存放在保险箱中。您只需要记住安全组合即可。 :)
-
@Golez:不是每个应用程序都必须知道主密码或访问密码表才能知道要使用的密码吗?你可以在那里进入一些循环逻辑。
-
我想我已经是了。 ;-) 但正如我在下面的回答中所说,我认为您无法完全保护此密码。应用程序必须知道它,如果它是加密的,应用程序必须能够解密它。最好的保护方法是,把它放在一个没有人从外面接触到它的地方。当有人设法获得您的物理服务器时,他们可以访问该文件这一事实将是您遇到的最少问题。 :)
标签: java security password-protection