我正在开发一个以 API 为中心的 Web 应用程序,该应用程序具有自定义授权方法,该方法包括基于请求方法、URL、参数、公共 API 密钥和由私有 API 密钥编码的字符串。这在服务器端工作正常,但在客户端,私有 API 密钥(和授权方法)将易受攻击。我花了大约最后一个小时寻找保护这个 API 密钥的好方法,我能找到的最好方法是通过我的服务器进行代理,但我仍然不确定 100%。
首先,我应该担心吗?我想在我的 Web 应用程序中优先考虑安全性,但是任何涉及修改用户帐户的操作都需要一个临时的加密令牌来授权请求(除了 HMAC 哈希)。
我对代理的理解是,您将向您的服务器发出请求,然后服务器将使用私钥加密并返回信息..但是服务器如何验证请求来自具有有效 API 密钥的源?
任何人都可以提供任何关于我应该做什么的见解吗?我觉得这可能是任何客户端代码的漏洞,包括 JavaScript、iOS 和 Android。