2011-02-10 37 views
0

我正在考虑托管SVN解决方案,最好是使用Trac,但我这样做的主要关注点是:ConnectionsStrings。托管的SVN,连接字符串呢?

我主要在网站上工作,所以他们都在web.config中有连接字符串,这意味着我的数据库密码将“暴露”给托管的SVN提供者。

当您选择使用托管的SVN提供程序时,您有什么/想过这个“安全漏洞”?

我正在寻找任何一种方式来避免由供应商,或者只是一些聪明的洞察,为什么我不应该担心:-D

编辑正在阅读的ConnectionString:要澄清的网站确实是基于ASP.Net。

编辑#2:简单地购买托管服务器,并自己安装SVN,Trac等可能更安全吗? (像http://www.slicehost.com/

+0

@Linus Kleen的来吧,现在,你不必删除我刚添加的asp.net标签,是吗? :)这至少与我给出的答案有关。 – Andrew 2011-02-10 19:25:24

+0

@Andrew是的。这与*你的*答案有关。不是问题。 – 2011-02-10 19:26:33

+0

@Linus Kleen我不同意。这个问题真的涉及到如何隐藏敏感数据,可能在Web.config中,从可以查看公共存储库的人那里隐藏。因为在Web.config中使用与其他技术(ASP)无关的特定策略。NET会有一定的意义 - 可能比目前剩下的两个标签更重要。我不会重申这一点,但我不确定这个“正确的”专业知识是否会被其标签所吸引。 – Andrew 2011-02-10 19:38:11

回答

0

我最终得到一个托管的服务器,而不是,这样我控制了root密码等,并不必担心别人打探我的代码里面:-)

0

因为这些字符串是一个secity风险,因为它们是不同的安装不同,我倾向于在我的SVN提供一个配置模板

每当我做结账,你需要实例化你的模板到一个真正的配置,或者如果你觉得奇特,请运行一个安装脚本。确保你的配置不会从安装迁移到你的svn,而且你是无家可归的。

1

我添加了ASP.NET标记,因为它既隐含在您的问题中,也与此答案相关。

请勿自行发布连接字符串。有几种方法可以做到这一点。一个是svn:忽略Web.config,虽然这可能是不可取的,因为经常有值得跟踪的变化。

如果您至少使用最新的MSBuild或更可能使用Visual Studio 2010,则可以使用多个Web.config文件,以便每个环境都有一个。这会有所帮助,因为您可以拥有一个实际上不包含连接字符串的“基本”Web.config,然后在Web.debug.config和Web.release.config上使用svn:ignore,您将在其中添加连接字符串。见http://msdn.microsoft.com/en-us/library/dd394698.aspx#webconfig_transformation

3

如果安全是一个大问题,您应该将您的自我托管给SVN。
连接字符串只是您应该担心的许多方面之一。其他人则是SVN主机或者黑客攻击SVN主机,窃取/销售您的整个代码库和/或在源代码中搜索可利用的漏洞。甚至有可能修改代码并向代码注入后门。

要么你信任SVN主机,要么你不信任。如果你不信任它,找一些人或者主持你的自我。