如何防止第三方服务使用我的API?

时间:2014-03-19 04:42:18

标签: security configuration

我使用Aja(AngularJS)和HTML5开发了一个前端界面。现在,我向我的后端服务器发送一个HTTP get请求,该服务器根据GET参数返回一些数据。

由于URL在Javascript文件中公开,我相信任何人都可以使用该URL创建自己的API来获取数据。我怎么能防止这样的事情呢?

我能想到的一种方法是,现在不是直接将请求发送到后端服务器,而是可以使用应用服务器(也可以托管HTML)。然后将Ajax请求发送到此服务器(PHP脚本?),然后将该请求转发给后端服务器并将结果返回给UI。为了防止第三方服务,我可以在我的应用程序服务器上禁用交叉源请求。

这是解决问题的正确方法还是有更好的方法来解决我的问题?我担心这会不必要地为请求创建另一个跃点(内部)。

注意:后端正在运行Apache Tomcat

1 个答案:

答案 0 :(得分:1)

在未向全世界开放的API中,用户必须先进行身份验证才能使用它,例如,请参阅https://stripe.com/docs/api#authenticationhttp://dev.maxmind.com/geoip/geoip2/web-services/ - >授权