簡體   English   中英

使用源控件時處理敏感數據的最佳方法是什么?

[英]What's the best way to deal with sensitve data while using a source control?

最近,我開始使用codeplex.com托管一個我正在與他人共享的項目。 我是使用Source Control和Open Source處理的新手。

我的應用程序處理Twitter,當然我必須使用Twitter API密鑰。

我將Visual Studio 2010和TortoiseHg用於源代碼管理。

所以我的問題是:如何在不共享敏感數據(例如API密鑰)的情況下推送代碼? 我應該不分享這些密鑰,對嗎? Twitter API密鑰,TwitPic API密鑰,Plixi API密鑰...

每次推送代碼之前,我是否都必須清除敏感數據?

另外,您能告訴我在哪里可以學習使用源代碼管理的最佳實踐?

您應該將所有敏感信息外部化為專用屬性文件。 此文件應從源代碼管理中排除。 大多數(如果不是全部)源代碼管理系統將允許您將文件標記為不進行版本控制。 我不特別了解Hg,但是.hgignore似乎是那里。

當涉及從存儲庫中刪除信息時,所有源代碼控制系統都特別令人討厭。 我們幾乎可以認為它們是創建來記錄項目的完整歷史的;-)因此,一旦錯誤提交了API密鑰,請准備好更改它(不是我做過這樣的事情)。

編輯 ,因為我似乎還不夠清楚:

最重要的部分是將敏感信息與標准信息明確分開。 您應該有一個僅包含敏感信息的文件。 然后將此文件標記為“未版本控制”。 如果您不這樣做,您肯定會最終提交您的敏感信息。 一旦它們消失了,幾乎沒有辦法讓它們消失。

另一種方法是加密敏感數據,提交加密數據並使解密密鑰僅出現在服務器上(或其他一些經過仔細控制的位置,遠離版本控制系統)。 我們實際上是在我工作的私人銀行中使用此解決方案的,因此開發人員無法訪問生產系統的密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM