我有一些代码,通过DropBox API与我的DropBox帐户一起使用,代码中有帐户访问令牌,如
token="sdfdsfsdfdsfsf"
dbx = dropbox.Dropbox(token)
我计划使用该代码分发我的应用,但我不知道如何保护token
值 - Python脚本可以轻松反编译,任何其他人都可以看到我的令牌。
如何用代码保护代码中的令牌?
谢谢!
答案 0 :(得分:2)
这确实是一个值得讨论的问题。
我们一直在讨论如何在源代码中保护我们的app_key
或token
。事实上,要做到这一点非常困难。特别是在您的源代码中这意味着如果你的程序被反编译,无论如何,你的应用程序都会暴露,也许你加密了app_key
或token
,它的角色不是很大。
我的建议是不要将真正的app_key放在源代码中。那么问题的关键是如何授权?
以下是几个计划:
您可以将加密密钥存储在外部文件中,并将其放在服务器或任何其他VPS上,然后将其加载到运行时。将获得加密密钥在您的程序中解密。
生成具有您程序权限的唯一令牌。这意味着您应该构建 API密钥系统,以便为客户提供密钥。这样可以保护您的{{1}在最大程度上。
IP白名单。如果您在客户的服务器上部署您的程序。但前提是您的用户相对固定。如果您的客户是业务用户,那将会很有帮助,否则他们会移动电话用户,这将是一个坏主意。
使用 SSL 来防止黑客捕获数据包。如果您想构建自己的授权验证系统。这在某种程度上可以有效保护您的界面。
通过您自己的一些方法生成一个临时令牌,也许您可以将dropbox app_key
和app_key
绑定在一起,这个临时令牌具有特权,但它&# 39;在很短的时间内享有特权。
顺便说一句,你可以咨询服务提供商,也许他们已经建立了一套计划。
希望这有帮助。