保护客户端上的API密钥(JavaScript,Android,iOS等)

前端之家收集整理的这篇文章主要介绍了保护客户端上的API密钥(JavaScript,Android,iOS等)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在开发一个以API为中心的Web应用程序,其中包含一个自定义授权方法,该方法包括根据请求方法构建字符串,URL,参数,公共API密钥以及由私有API密钥编码.这在服务器端工作正常,但在客户端,私有API密钥(和授权方法)将是易受攻击的.我花了最后一小时左右的时间来寻找保护这个API密钥的好方法,我能找到的最佳方法是通过我的服务器进行代理,但我仍然不确定100%.

首先,我应该担心吗?我想在我的Web应用程序中将安全性作为优先级,但是任何处理修改用户帐户的事务都需要一个临时的加密令牌来授权请求​​(除了HMAC哈希).

我对代理的理解是你会向你的服务器发出请求,然后用私钥加密并返回信息.但是服务器如何验证请求来自具有有效API密钥的源?

谁能提供任何关于我应该做什么的见解?我觉得这可能是任何客户端代码的漏洞,包括JavaScript,iOS和Android.

最佳答案
你永远不能相信客户.即使你混淆了,有人仍然可以弄明白.例如,攻击者可以对混淆算法进行逆向工程,查看设备内存,甚至捕获通过线路发送的内容.

但是,您仍然可以通过在服务器端强制执行安全性来创建安全的应用程序.例如,用户需要进行身份验证才能成功发出特权API请求.

此外,您可以在服务器端强制执行A​​PI使用,无论是通过输入验证,速率限制还是IP地址跟踪.

猜你在找的JavaScript相关文章