【发布时间】:2014-03-20 18:17:42
【问题描述】:
如果我在我的一个 c# 控制器中有一个纯文本密码(比如连接到 SMTP 邮件服务器),攻击者无法查看此密码(或服务器的其余部分),我说得对吗?侧代码)除非服务器安全被破坏?
我在共享主机上,所以我无法使用 IIS 来加密 Web 配置(据我所知)。如果这是如此糟糕的做法,是否有人对如何最好地解决此问题有任何建议?
【问题讨论】:
-
任何可以读取您服务器上文件的人都可以读取该密码。这取决于服务器管理员和配置。
-
好的,谢谢,所以如果我信任我的托管服务提供商,那我可以吗?
-
@mattbloke:一般规则是,从不以纯文本形式存储密码。 从不。如果它们以纯文本形式存储,则它们不安全。期间。
-
@David:如果需要使用密码,别无选择。加密无济于事,因为服务器无论如何都需要解密它。
-
@mattbloke:为了避免硬编码,我会将它们留在配置文件中。控制器 code 根本不需要在服务器上,但是任何字符串值都可以轻松地从编译后的
.dll中提取出来。对于像这样的服务帐户密码,您至少要确保其他任何地方都没有使用相同的密码。 (例如,不要重复使用您的电子邮件密码或银行密码或类似的东西。)网络服务器确实应该保护对这些文件的访问,如果服务器受到破坏,那么攻击者确实拥有该密码。跨度>
标签: model-view-controller passwords