我应该如何在Python应用程序中存储API密钥?

时间:2012-04-27 19:42:57

标签: python api dropbox-api api-key

在我的情况下,我正在使用Dropbox API。目前我正在将密钥和密钥存储在JSON文件中,这样我就可以将其保存在Github存储库之外,但是从安全的角度来看,这并不比在代码中使用它更好。关于保护/混淆Python之前有很多问题(通常是出于商业原因),答案总是“不要,Python不是那个意思。”

因此,我不是在寻找一种保护代码的方法,而只是一种解决方案,可以让我分发我的应用而不会泄露我的API细节。

3 个答案:

答案 0 :(得分:2)

纯文字。如果代码被分发,任何混淆尝试都是徒劳的。

答案 1 :(得分:2)

在您的情况下,不知道这是否可行。但您可以通过托管的代理访问API。

来自Python APP的请求转到代理,代理向Dropbox API发出请求并将响应返回给Python应用程序。这样,您的api密钥将位于您托管的代理服务器上。可以通过您喜欢的任何方式控制对代理的访问。 (例如用户名和密码)

答案 2 :(得分:1)

根据您的情况,有两种方式:

如果您正在为最终用户开发Web应用程序,只需以您的API密钥不会泄露的方式托管它。因此,将其保存在单独的文件中并仅将其上传到您的服务器应该没问题(只要没有违反您的服务器)。任何混淆都不会增加任何实际好处,只会给人一种虚假的安全感。

如果您正在为开发人员或最终用户的客户端应用程序开发框架/库,请让他们自己生成API密钥。