2011-02-10 55 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主機,要麼你不信任。如果你不信任它,找一些人或者主持你的自我。