2017-03-11 24 views
0

我有一些代码,这与我的Dropbox帐户透过Dropbox API中的代码可与帐户访问令牌就像秘密数据/在Python脚本键

token="sdfdsfsdfdsfsf" 
dbx = dropbox.Dropbox(token) 

我打算与该代码分发我的应用程序,但我不知道,如何保护token价值 - Python脚本可以很容易地反编译,任何其他人都可以看到我的令牌。

如何保护代码中的令牌,用什么方式?

谢谢!

+0

如果您需要使用该令牌进行身份验证,则可能需要分发该令牌。你可能可以生成一个只具有针对程序用户的权限的令牌吗?否则,您可以通过您自己的API保护密钥,您的API具有令牌,并且基本上只是公开从原始API中选择的命令,以便您的令牌和相关特权得到保护。 – Tristan

回答

2

这确实是一个值得讨论的问题。

我们总是在谈论如何保护我们的app_keytoken在我们的源code.As事实上,这真的很难在你的源代码,如果你的程序反编译,这意味着this.Especially做,在任何情况下, ,你的应用会暴露,也许你加密了你的app_keytoken,它的作用不是很大。

我的建议是不要把你真正的app_key放在你的源代码。那么问题的关键是如何授权?

这里有serveral的计划:

  • 你可以存储在外部文件中的加密关键,并把它放在你的服务器或任何其他VPS上,并在运行 .The程序加载将获得加密的密钥在您的程序中解密。

  • 生成您拥有的权限为您program.Which意味着你应该建立自己的API密钥系统在那里你可以给钥匙给您customers.This会保护你的dropbox app_key以在最大程度上的唯一标记。

  • IP白名单。如果您将程序部署到客户服务器上,但前提是您的用户相对固定。如果您的客户是商业用户,否则他们是手机用户,这将是一个坏主意。

  • 使用SSL防止黑客捕获数据包。如果您想构建自己的授权验证系统。在某种程度上,这可能会有效地保护您的界面。

  • 生成的一些自己的方法一个临时令牌,也许你可以绑定app_keytimestamps在一起,这个临时令牌是特权,但它在很短的时间只是特权。

顺便说一句,你可以咨询服务提供商,也许他们已经建立了一套计划。

希望这会有所帮助。