Web services 保护rest-ful web服务

Web services 保护rest-ful web服务,web-services,rest,backbone.js,Web Services,Rest,Backbone.js,我正在开发一个搜索事件的应用程序。我正在使用backbone.js构建这个应用程序。我有一些网络服务来获取有关活动的信息。例如,我有一个web服务获取数据库中的所有事件,另一个web服务获取给定id的事件信息,等等。。。我想知道是否有可能保护我的web服务,因为人们无法访问 在我的代码中,我有一个集合,它有一个对应于web服务的url: ev.models.ImagemCollection = Backbone.Collection.extend({ url: 'http:/.../.

我正在开发一个搜索事件的应用程序。我正在使用backbone.js构建这个应用程序。我有一些网络服务来获取有关活动的信息。例如,我有一个web服务获取数据库中的所有事件,另一个web服务获取给定id的事件信息,等等。。。我想知道是否有可能保护我的web服务,因为人们无法访问

在我的代码中,我有一个集合,它有一个对应于web服务的url:

ev.models.ImagemCollection = Backbone.Collection.extend({

    url: 'http:/.../.../webservices/services/events/',

    initialize: function(){
        console.log("Collection Home Inicializado");
    }

});
如果我在web浏览器中访问DevTools,通过一些搜索,我可以通过web服务找到url,但我想以某种方式隐藏这些信息


有什么想法吗?

RESTful路由是在您的后端配置的,如果您想禁止用户访问它们,您需要在后端路由上创建一个过滤器,该过滤器在路由命中之前执行

这种情况下,您(例如)只希望在用户进行身份验证时授予访问权限。您在路由上应用的过滤器是自定义的,您可以以任何方式定义它;在这种情况下,过滤器检查“已验证”状态。

每当用户没有进行身份验证时,您的过滤器就会从后端返回一条消息,例如“您需要先进行身份验证。”

好,但我的主页会从数据库中获取事件,用户应该会看到事件。如果仅在用户进行身份验证时授予访问权限,则用户无法在InialPage中查看事件:/好的,我明白了。你不是真的想保护web服务,你只是想隐藏url?你不能真的“保护”它,因为你表明你确实想在frontpage上加载事件,这使得每个人都可以访问它。。。当您发出RESTful请求时,浏览器的导航选项卡会显示请求所指向的URL,因此它永远不会是私有的。你唯一能做的就是监控流量。是的,基本上我希望这个url不让其他用户看到。如果我在php中创建了一个中间件,那么在向php文件发送请求并从中接收响应时。这会有帮助吗?你可以试着这么做。不过,大多数RESTAPI都是公共的,并且通过使用api密钥来控制带宽使用情况来进行监控。我们还开发了一个与事件(活动)一起工作的应用程序,但决定公开API,以便随着时间的推移产生更多的曝光,最终形成一个更大的社区,这从业务角度来看很重要。