我有一个iPhone应用程序,它使用Rails服务器HTTP。API在这一点上是公开的-不需要获得数据的授权。
目前,任何人都可以访问API的URL并下载数据。
http://server.com/mydata数据不是很敏感。但我还是想阻止人们轻易得到它。有什么方法可以做到这一点?我也不希望iOS应用程序用户登录。
我现在的解决方案
iPhone应用程序将一个秘密令牌添加到请求的header或查询中。数据显示在HTTPS上。
https://server.com/mydata?secret=my_secret有没有更好的方法?
发布于 2014-09-02 03:15:05
您可以尝试一种方法,在这种方法中,客户机每个时间段只允许X个请求数(基于IP地址或用户名)。
在您控制的设备上,HTTPS非常容易在中间操作。您可以进行SSL证书验证,但是总有一些人有更多的时间,所以最好是处理服务器端。
发布于 2014-09-02 03:21:20
传输敏感客户数据的应用程序,如信用卡和支付信息,必须受到保护,不受中间人攻击。最佳保护是相互认证方案,其中交换证书以确保应用程序连接到受信任的服务器,并确保服务器连接到受信任的应用程序。
然后,只有个人(可能已经安装了您的应用程序)才有访问权限。如果有人钻研了代码并获得了公共证书,那么他们就可以模拟客户端;但在这一点上,他们还是赢了,应该探索双因素身份验证。
https://stackoverflow.com/questions/25615286
复制相似问题