2014-09-24 89 views
1

我正在为我们的前端专用一个REST后端,它们都将位于同一服务器中。 问题是我担心安全问题,我不希望攻击者直接使用API​​,无论是通过JS还是使用其他REST客户端。禁用对REST API的直接请求

让我们这样服务为例

http://myserver:8080/something/webresources/film 

这就是,允许GET,PUT服务,POST,DELETE我想,只有前端能够使用它,否则,因为任何人都可以看到客户端 - 代码将很容易获得端点并开始放置或获取数据。我确实有BASIC AUTH,所以他们必须注册,如果他们做错了,我会看到是谁做的,但这并不能解决问题。

我可以实现访问控制,以便用户只能获取/更新/删除他们自己的电影,但我必须为每个REST服务(我现在已超过100个)执行该操作,另外我可能需要实际上得到别人的电影

这是我第一个公共项目,我真的迷路了。

回答

0

您只能从服务器端调用REST API。你不能隐藏用户浏览器中发生的事情......你可以有一个分层的应用程序,所以前端层可以调用服务器上的后端层,而客户端只能看到前端。 (检查分层系统约束。)