用于移动应用程序安全性/身份验证的API
我有一个为移动应用程序提供内容的API,目前没有将该API用于其他产品的计划。我有两个主要问题:用于移动应用程序安全性/身份验证的API,api,security,mobile,oauth,Api,Security,Mobile,Oauth,我有一个为移动应用程序提供内容的API,目前没有将该API用于其他产品的计划。我有两个主要问题: 如何防止某人嗅探API请求并发出自己的请求(这不应该是公共API) 如果无法完全阻止#1,那么如何限制/限制未经批准的消费者的请求?这里还有其他问题吗 对每个请求使用auth令牌(作为GET参数传递)满足#2(我可以随时撤销它),但是我不想在将来更新应用程序以使用不同的令牌 此外,移动应用程序中没有用户身份验证,API是用PHP编写的 这方面的最佳实践是什么?这里有一些建议可以帮助您保持API的私密
这方面的最佳实践是什么?这里有一些建议可以帮助您保持API的私密性
- 用于阻止随意的数据包嗅探
- 确保您的客户端验证服务器证书以防止攻击
- 在客户端代码中加密或混淆身份验证令牌,这样它就不会明显地暴露在字符串转储中
但最终,如果有人真的想访问您的API,他们会——或者通过反向工程您的客户机代码,或者。您所能期望的最好方法是阻止普通用户的访问尝试。以下是一些有助于保持API私有化的建议
- 用于阻止随意的数据包嗅探
- 确保您的客户端验证服务器证书以防止攻击
- 在客户端代码中加密或混淆身份验证令牌,这样它就不会明显地暴露在字符串转储中
- 如何防止某人嗅探API请求并发出自己的请求(这不应该是公共API)。
- 如果无法完全预防#1,那么我如何才能做到 来自未经批准的消费者的限制/节流请求?还有其他的吗 关注点在这里?
以及HMAC签名(上文),您还可以考虑监视传入的IP地址范围、设备信息(例如指示设备类型的标头——Android vs IOS等),以及可以用来将多个请求链接到特定客户端的其他因素,然后在API级别应用策略。p> 全面披露:我为API管理/API网关供应商(Axway)工作,但上面的信息应该是通用的。
- 如何防止某人嗅探API请求并发出自己的请求(这不应该是公共API)。
- 如果无法完全预防#1,那么我如何才能做到 来自未经批准的消费者的限制/节流请求?还有其他的吗 关注点在这里?
以及HMAC签名(上文),您还可以考虑监视传入的IP地址范围、设备信息(例如指示设备类型的标头——Android vs IOS等),以及可以用来将多个请求链接到特定客户端的其他因素,然后在API级别应用策略。p> 全面披露:我为API管理/API网关供应商(Axway)工作,但上面的信息应该是通用的