我目前有一个分布式的 C# 应用程序,并且有多个人拥有。我想知道我可以采用哪种方法来隐藏构建后生成的 app.config 文件 (.exe.config) 文件,以便用户无法看到我到远程服务器的连接字符串。我在某处读到如果我加密文件,它只能在机器上解密它是加密的,这意味着它不适用于应用程序所在的其他计算机,它只能在我的 PC 上运行。我可以采用哪种方法来隐藏/混淆/加密配置文件,或者保护配置文件的任何方法,但是如果它不只针对我的计算机,那么它实际上可以为任何其他拥有分布式版本的人工作?任何帮助将不胜感激,谢谢
问问题
1413 次
2 回答
0
如果您不希望他们能够使用它,则永远不要向他们提供凭证。真的就是这么简单。您不能既向同一实体提供证书,又不向同一实体提供证书。无论您需要做什么安全检查,都可以在您的机器上进行。这样,即使是拥有连接字符串的人也无法绕过您关心的任何安全检查。
于 2012-05-27T04:25:12.997 回答
0
如果您担心暴露其他机器的地址,您可能需要考虑将这些机器放在路由器机器后面。
这样,客户端机器及其用户只知道代理,而远程机器只需要对代理开放并信任它。
即使您加密了配置文件:
机器将需要解密文件以使用连接信息,因此秘密会以任何方式泄露
使用网络嗅探器,用户总是可以看到他的机器正在连接哪些机器。
于 2012-05-27T08:43:39.647 回答