目前,我主要负责开发具有安全性的股票市场数据API。我能够使用JWT,API密钥,中间件身份验证来保护传入的GET请求。
假设众所周知,当用户未登录时,所有http方法(特别是GET)都以http状态401未授权访问进行响应。
我的问题是,当用户登录我们的应用程序后,现在可以成功查询API请求(服务器到服务器),但是当我将请求链接复制到浏览器的新标签页(例如chrome)时,可以看到答复。可以预期,因为用户已登录,但我希望请求响应不会在浏览器中显示。我们的其他竞争对手使用POST来对抗浏览器的GET默认值。
我们应该转到POST吗?由于GET是用于请求内容的正确http方法,因此我一直在努力。
对于诸如股票市场数据之类的私人物品,我的第一选择将是发布请求。
我曾经通过检测浏览器来阻止来自浏览器的GET API请求,这是基于诸如具有useragent字符串和自定义标头元数据之类的内容,但是基于经验,这并不是一个完美的解决方案。
我过去使用的另一个技巧是使用简单的加密算法(虽然不安全,但速度很快。它只是分散注意力)来加密值。因此,如果有人确实提取了json响应,则数据将是垃圾,除非使用密钥解密(在您的情况下可能是jwt令牌)。
同样,这些技巧对针对技术含量高的人员的安全性无能为力,但足以分散常规到平均反向英语技巧的注意力。同样免责声明,我从未将GET用于与财务和股票相关的重要信息。我的规则是普通填充物为GET,重要填充物为POST。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句