我运行一个项目,它将从我的应用程序调用API(http post)。帖子数据包括用户的个人资料。如果用户是合法的,他将获得折扣优惠券。但是现在,我发现如果一些用户在PC上调用api (即.chrome),他也会得到优惠券。我们只接受用户申请优惠券从我们的应用程序,以推动我们的应用程序的使用。
我知道当我的应用程序发送http post时,我可以设置一个密钥。但我认为如果有人使用嗅探器软件,就会找到钥匙并使用它。
所以,我的问题是如何识别这个API请求是从我的应用程序发出的。如果没有,我将拒绝此呼叫。
发布于 2019-03-22 12:13:44
您可以尝试解析User-Agent标头,以帮助识别正在使用的浏览器、版本、操作系统。但你不能百分之百确定。
有关用户代理字符串的示例,请参见https://deviceatlas.com/blog/list-of-user-agent-strings
发布于 2019-03-21 18:39:47
您应该使用https/ssh隧道和身份验证/授权令牌。
因此,您的密钥和令牌就是秘密,并且https隧道可以防止嗅探
https://stackoverflow.com/questions/55278512
复制相似问题