加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在发送AJAX请求时隐藏API密钥?

发布时间:2020-12-16 02:48:47 所属栏目:百科 来源:网络整理
导读:我即将开始研究一个项目,它基本上是一个移动银行应用程序的Web界面. API准备就绪,我只需要提供Web应用程序的前端部分.我打算使用Backbone / Angular / Ember,但开始担心安全问题. 特别是以下.通常,每个API请求必须包含一个参数method_code,该参数计算为用户
我即将开始研究一个项目,它基本上是一个移动银行应用程序的Web界面. API准备就绪,我只需要提供Web应用程序的前端部分.我打算使用Backbone / Angular / Ember,但开始担心安全问题.

特别是以下.通常,每个API请求必须包含一个参数method_code,该参数计算为用户令牌,方法名称和秘密API密钥的哈希值.如果我把这个参数计算的逻辑放到.js文件中,任何人都可能使用Postman甚至浏览器控制台等工具访问一些敏感数据.我该怎么办这个问题?我可以有一个服务器端脚本为我生成method_code,但它是否可以只访问我的Web应用程序的请求?

解决方法

every API request must contain a parameter method_code,which is calculated as hash of user token,method name and secret API key

I could have a server-side script generating the method_code for me,but is it possible to make it accessible only to my web app’s requests?

是的,如果您不想在客户端代码中公开秘密API密钥或请求数据,那么服务器端脚本将是您的选择.

用户令牌(可能)来自用户的会话cookie值?因此,只需使用服务器端方法获取方法名称,然后返回从秘密API密钥(仅保留服务器端)和用户令牌计算的method_code.

Same Origin Policy将阻止另一个域向您的API发出请求并检索method_code.我也假设API和前端代码在这里运行在同一个域上,但如果不是这种情况,您可以使用CORS来允许您的前端代码通过API读取和检索客户端数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读