【问题标题】:Hosted SVN, what about connectionstrings?托管 SVN,连接字符串呢?
【发布时间】:2011-06-25 02:20:20
【问题描述】:

我正在考虑使用托管 SVN 解决方案,最好使用 Trac,但我这样做有一个主要问题:Connectionstrings。

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

当您选择使用托管的 SVN 提供商时,你们对这个“安全漏洞”做了什么/想到了什么?

我正在寻找一种方法来避免连接字符串被提供者读取,或者只是想知道为什么我不应该担心:-D

编辑:澄清这些网站确实是基于 ASP.Net 的。

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

【问题讨论】:

  • @Linus Kleen 来吧,现在,您不必删除我刚刚添加的 asp.net 标签,对吗? :) 至少与我给出的答案有关。
  • @Andrew 是的。它与你的答案有关。不是这个问题。
  • @Linus Kleen 我不同意。这个问题真正涉及到如何向可以查看公共存储库的人隐藏敏感数据(可能在 Web.config 中)。因为使用 Web.config 执行此操作的特定策略与其他技术无关,所以 ASP.NET 会更有意义——可能比目前保留的两个标记更有意义。我不打算重新标记这个,但我不确定“正确”的专家现在是否会被它的标签吸引到这个问题上。
  • @Andrew 我很抱歉。你是对的,当然。我将我的编辑回滚到您的修订版。再次抱歉。

标签: asp.net svn hosting


【解决方案1】:

因为这些字符串存在安全风险,而且由于不同的安装它们是不同的,所以我倾向于在我的 svn 中提供一个配置 模板

每当我进行结帐时,您都需要将您的模板实例化为真实配置,或者如果您觉得不错,请运行安装脚本。确保您的配置不会从安装迁移到您的 svn,并且您是无家可归的。

【讨论】:

    【解决方案2】:

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

    请勿自行发布连接字符串。有几种方法可以做到这一点。一种是 svn:ignore 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

    【讨论】:

    • +1 我确实使用 VS 2010,并且在我的 web.config 的调试/发布部分中已经有了连接字符串,所以这将是一个简单的解决方案。
    【解决方案3】:

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

    您要么信任 SVN 主机,要么不信任。如果您不信任它,请找其他人或托管您自己。

    【讨论】:

    • +1 你说得对,还有其他更糟糕的事情需要担心。不过,窃取/出售我的代码对我来说并不是一个主要问题(长话短说:这些网站不太可能对我以外的任何人有用)
    【解决方案4】:

    我最终得到了一个托管服务器,这样我可以控制 root 密码等,而不必担心其他人会在我的代码中四处寻找:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      相关资源
      最近更新 更多