如何在发送AJAX请求时隐藏API密钥?
我即将开始研究一个项目,它基本上是一个移动银行应用程序的Web界面. API准备就绪,我只需要提供Web应用程序的前端部分.我打算使用Backbone / Angular / Ember,但开始担心安全问题.
特别是以下.通常,每个API请求必须包含一个参数method_code,该参数计算为用户令牌,方法名称和秘密API密钥的哈希值.如果我把这个参数计算的逻辑放到.js文件中,任何人都可能使用Postman甚至浏览器控制台等工具访问一些敏感数据.我该怎么办这个问题?我可以有一个服务器端脚本为我生成method_code,但它是否可以只访问我的Web应用程序的请求? 解决方法
是的,如果您不想在客户端代码中公开秘密API密钥或请求数据,那么服务器端脚本将是您的选择. 用户令牌(可能)来自用户的会话cookie值?因此,只需使用服务器端方法获取方法名称,然后返回从秘密API密钥(仅保留服务器端)和用户令牌计算的method_code. Same Origin Policy将阻止另一个域向您的API发出请求并检索method_code.我也假设API和前端代码在这里运行在同一个域上,但如果不是这种情况,您可以使用CORS来允许您的前端代码通过API读取和检索客户端数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |